A-A+
以下程序的输出结果是 int f() { static int i=0; int s=1;
问题详情
以下程序的输出结果是
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
解析:函数的静态局部变量在编译时就赋初值,即只赋初值一次,在程序运行时它已有初值,以后每次调用函数时不再重新赋值,而只是保留上次函数调用结束时的值。