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

admin2010-09-05  28

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

选项

答案0 10 1 11 2 12

解析 函数fun里有一个静态变量c,调用fun时,只对c进行一次赋值,以后再调用时c为上次调用函数的值,因此i=0时,fun(5)=5+1+4=10,i=1时,fun(5)=5+1+5=11,i=2时,fun(5)=5+1+6=12。
转载请注明原文地址:https://kaotiyun.com/show/2cWp777K
0

最新回复(0)