问题 填空题

以下程序运行后的输出结果是  【15】    int a=5;  fun(int b)  { static int a=10;   a+=b++;   printf("%d ",a);  }  main( )  { int c=20;   fun(c);   a+=c++;   printf("%d\n",a);  }

答案

参考答案:[15] 30 25

解析:当调用fun()时把c的值传给形参b,在执行子函数fun()中的a+=b++时,实际上静态变量a起作用,因此a的值变为30,然后回到主函数,执行a+=c++,此时起作用的是外部变量a,因此外部变量a的值由5变为25。

多项选择题
单项选择题 A1型题