单选题
下列程序的输出结果是( )。
#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。