问题 单项选择题

若有如下程序:#include<iostream>using namespaee std;int fun(){static int i=0;int s=1;s+=i;i++;return s;}int main() { int i,a=0; for(i=0;i<5;i++) a+=fun(); cout<<a<<end1; return 0; } 程序运行后,输出的结果是( )。

A.20

B.24

C.25

D.15

答案

参考答案:D

解析: 由主函数入手,在for循环中调用fun函数,其中调用次数为5次。fun中i为静态变量,有效到文件结束。第一次调用fun后为s=1,a=1;第二次调用后s=2,a=3;第三次s=3,a=6;第四次 s=4,a=10;第五次s=5,a=15。

单项选择题
单项选择题