问题
填空题
以下程序运行后的输出结果是 【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。