未分类题
以下程序的输出结果是______。 int f() { static int i=0; int s=1; s+=i; i++; return s; } main() { int i, a=0; for(i=0; i<5; i++) a+=f(); printf('% d/n' , a); }
D.15
A.20
B.24
C.25
【参考答案】
D
解析:函数f中变量i为静态变量,函数f调用结束后变量i所占据的存储单元不会释放,而在主函数中f被调用5次,具体过程如下。
第1次调用f:s=s+i=1+0=1,i=i+1=1,主函数中a=a+f()=O+1=1
第2次调用f:s=s+1=1+1=2,i=i+1=2,丰函数......
(↓↓↓ 点击‘点击查看答案’看完整答案 ↓↓↓)