以下程序运行后的输出结果是_________。 int fun(int a) {int b=0;static int c=3; b++:c++; return(a+b+c);} main() {int i

admin2013-02-23  26

问题 以下程序运行后的输出结果是_________。
    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));prinff("n");}

选项

答案010111212。

解析 当i=0时,执行‘b++;c++;”后c=4,b=1,因此a+b+c=10,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。
转载请注明原文地址:https://kaotiyun.com/show/aKPp777K
0

最新回复(0)