单选题 下列程序的输出结果是( )。

#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。