A-A+

以下程序的输出结果是()。 main() { int a=2 k; for(k=0;k<3;

2022-08-06 02:35:48 问答库 阅读 174 次

问题详情

以下程序的输出结果是()。 main() { int a=2,k; for(k=0;k<3;k++) printf("%4d",f1(a)); } f1(int a) { int b=0;static int c=3; b++;c++; return(a+b+c); }
A.7 7 7
B.7 10 13
C.7 9 11
D.7 8 9请帮忙给出正确答案和分析,谢谢!

参考答案

正确答案:D
解析:程序中使用一个for循环,3次输出函数f1(2)的返回值。f1()函数中存在一个静态局部变量c,第1次调用f1()函数返回a+b+c=2+1+4=7,c变为4,第2次调用返回2+1+5=8,c变为5,第3次返回2+1+6=9。所以正确答案是D。

考点:程序