问题 单项选择题

以下程序的输出结果是 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("%d\n",a);}

A.20

B.24

C.25

D.15

答案

参考答案:D

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

选择题
填空题