问题 填空题

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

答案

参考答案:30 25

解析: 本题fun()函数中使用的a是其自身定义的静态局部变量a,所以算术运算中a+=b++相当于a=a+b,b=b+1结果为 10+20=30。所以,在fun()函数中的printf("%d ",a)输出结果为30。而主函数中使用的a是全局变量a,所以算术运算中a+=c++相当于a=a+c,c=c+1结果为5+20=25。所以,主函数中的printf("%d\n",a)输出的结果为25。故最终输出结果是30 25。

填空题
单项选择题