单选题
以下程序的输出结果是( )。
#include<stdio.h>
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
A
B
C
D
【正确答案】
D
【答案解析】
[解析] 函数的静态局部变量在编译时就赋初值,即只赋初值一次,在程序运行时它已有初值,以后每次调用函数时不再重新赋值,而只是保留上次函数调用结束时的值。
提交答案
关闭