问题
填空题
以下程序的输出结果是 【9】 。 #include <stdio.h> void fun() { static int a=0; a + =2; printf("%d",a); } main() { int cc; for(cc = 1;cc < 4; cc++) fun(); printf("\n"); }
答案
参考答案:246
解析: 函数fun中的a是static类型的变量,语句static int a=0;是给a赋初值0,并且只初始化一次。由于a是静态的,所以当fun函数返回main函数时,a值仍然保留在其所分配的存储空间。函数第一次调用时a被赋值2,然后每调用一次增加2。