找考题网-背景图
未分类题

设有以下函数: f(int a) { int b=0; static int c=3; b++; c++; return(a+b+c); } 如果在下面的程序中调用该函数,则输出结果是______。 main() { int a=2, i; for(i=0; i<3; i++)printf('% d/n', f(a)); }
A.7 8 9
B.7 9 11
C.7 10 13
D.7 7 7

A.7
B.7
C.7
D.7

【参考答案】

A
解析:本题考查静态变量的问题。函数f中c是静态变量存放在静态存储区,在程序的整个运行期间都不释放占据的存储单元。函数f被调用3次,调用过程如下。
第1次调用;a=2、b=0、c=3,执行b++和c++后b=1、c=4,f(a)=a+b+c=2+1+4=7
第2次调用:a=......

(↓↓↓ 点击‘点击查看答案’看完整答案 ↓↓↓)