单选题
main()
main()
{ int x=3,i;
for(i=0;i<3;i++) printf("%d",f(x));
}
int f(int a)
{ int b=0;
static c=3;
b++;c++;
return(a+b+c);
}
执行此程序后屏幕上显示的结果是()。
A
8 10 10
B
7 9 10
C
8 9 11
D
8 9 10
答案解析
正确答案:D
解析:
i=0:f(3)=3+1+4=8
i=1:f(3)=3+1+5=9
i=2:f(3)=3+1+6=10
如果是在函数内部定义的,
那么这个变量只初始化一次,
即使再次调用这个函数,
这个static变量也不会再次被初始化,
于是,这个变量的取值就会一直保存着
i=1:f(3)=3+1+5=9
i=2:f(3)=3+1+6=10
如果是在函数内部定义的,
那么这个变量只初始化一次,
即使再次调用这个函数,
这个static变量也不会再次被初始化,
于是,这个变量的取值就会一直保存着
题目纠错
计算机省级考试题目
