C语言问题:下列程序执行后输出的结果是

'下列程序执行后输出的结果是
A) 3 B) 0 C) 5 D) 4
f(int a)

{ int b=0; static c=3;

a=c++,b++;

return (a); }

main( )

{ int a=2,i,k;

for(i=0;i<2;i++) k=f(a++);

printf("%d\n",k); }
希望给出详细解释,谢谢

4,D)正确,选D)——for循环调用两次f,第一次调用返回3(a=c++使a==3),第二次调用返回4(由于c是static变量,上次调用时3赋给a后c++变c为4)。最后输出是第二次调用后的返回值
温馨提示:答案为网友推荐,仅供参考
相似回答