C语言关于printf函数的问题 printf(“%d”),后面什么都没有,为什么输出的是上一个输出的结果

下列程序运行的结果是()
#include<stdio.h>
int fun(int a,int b)
{
static i=2,t=0;
i+=t+1; t=i+a+b;
return (t);
}
void main()
{
int i;
for(i=1;i<3;i++)
printf("%d",fun(4,1));
printf("%d\n");
}

第1个回答  2018-11-21
你这个编译不通过吧,
第一,fun函数里面的 i 和 t没有类型说明;
第二,main里面的for循环的小括号是中文格式。
第2个回答  2018-11-21
C语言中,如果printf(“%d”),后面什么都没有,它输出的结果是不确定的!
“输出的是上一个输出的结果”,这只是一个巧合。并没有什么规律性的东西在内的。本回答被提问者和网友采纳
第3个回答  2018-11-21
输出的是栈上的值 具体原因不明 不提倡这样弄 因为栈上的值是不确定的。
相似回答