问题
填空题
以下程序运行后的输出结果是______。
int fun(int a)
int b=0; static int c=3;
b++; c++;
return(a+b+c);
main()
int i, a=5;
for(i=0; i<3; i++)printf("%d%d", i, fun(a)); printf("n");
答案
参考答案:010111212
解析: 当i=0时,执行“b++;c++;”后c=4,b=1,因此a+b+c=10,先输出的值,所以输出010;当i=1时,返回fun函数中,此时b又为0,而c为4,因为它是静态局部变量,保持上一次计算的结果,直到整个程序的结束,当执行完“b++;c++;”后c为5,因此返回到主函数值为11,输出结果为111;当i=2时,c为5,当执行完“b++;c++;”后c为6,输出的结果为212,故最后的结果为010111212。