A-A+

以下程序的输出结果是 int f() { static int i=0; int s=1;

2022-08-05 22:38:10 问答库 阅读 172 次

问题详情

以下程序的输出结果是 int f() { static int i=0; int s=1; s+=i;i++; return s;} main() { int i,a=0; for(i=0;i<5;i++)a+=f(); printf("%dn",a);}
A.20
B.24
C.25
D.15请帮忙给出正确答案和分析,谢谢!

参考答案

正确答案:D
解析:对函数的静态局部变量是在编译时就赋初值,即只赋初值一次,在程序运行时它已有初值,以后每次调用函数时不再重新赋值,而只是保留上次函数调用结束时的值。

考点:程序