问题 单项选择题

若有以下程序:
#include<iostream>
using namespace 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<<endl;
return 0;

程序运行后,输出的结果是( )。

A.20

B.24

C.25

D.15

答案

参考答案:D

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

选择题
单项选择题