A-A+

有以下程序: #includedstdio.h> int f(int n); main()

2022-08-06 03:12:58 问答库 阅读 175 次

问题详情

有以下程序: #includedstdio.h> int f(int n); main() {int a=3,s; s=f(a);s=s+f(a);printf("%dkn",s); } int f(int n) {static int a=1; n+=a++; return n; } 程序运行后的输出结果是()。
A.7
B.8
C.9
D.10请帮忙给出正确答案和分析,谢谢!

参考答案

正确答案:C
本题考查函数的调用。当执行s=f(a)时,进入fun函数,n=n+(a++),n的值为3,a的值为1,a++的意思是先用a的值,再将a加1为2,所以n的结果为4,也就是主函数中f(a)的结果为4;返回主函数,执行s=s+f(a),s为4,再次调用函数,此时n仍为3,a的值刚才已经自加2,所以计算后n的值为5,a自加l为3。返回主函数,f(a)的结果为5,所以s=4+5=9。

考点:程序