问题
单项选择题
下列程序的输出结果是( )。
#include<stdio.h>
f(int a)
int b=0;
static int c=4;
a=c++;b++;
return(a);
main()
int a=2,i,c;
for(i=0;i<2;i++)
C=f(a++);
printf("%d\n",c);
A) 4
B) 7
C) 6
D) 5
答案
参考答案:D
解析: 本题考查静态变量的使用方法和for循环。在函数调用时,static变量在函数调用结束后所作的所有变化均不保持,所以当i=1时,第2次进入f函数时c=5,所以最终main函数中c的值为5。