问题
单项选择题
以下程序的输出结果是( )。
int f()
static int i=0;
int s=1;
S+=i;i++:
return s;
main()
int i,a=0;
for(i=0;1<5;i++)a+=f();
printf("%d\n",
A.;A) 20B) 24C) 25D)
答案
参考答案:D
解析: 函数的静态局部变量在编译时就赋初值,即只赋初值一次,在程序运行时它已有初值,以后每次调用函数肘不再重新赋值,而只是保留上次函数调用结束时的值。