有以下程序 int fun(int x[],int n) {static int sum=0,i; for(i=0;i<n;i++) sum+=x[i]; ret

11 查阅

有以下程序

int fun(int x[],int n)

{static int sum=0,i;

for(i=0;i<n;i++) sum+=x[i];

return sum;

}

main()

{int a[]={1,2,3,4,5},b[]={6,7,8,9},s=0;

s=fun(a,5)+fun(b,4);printf("%d\n",s);

}

程序执行后的输出结果是

A.45

B.50

C.60

D.55

参考答案:

C解析:内部静态变量是始终存在的,当函数被调用退出后,内部静态变量会保存数据,再次调用该函数时,以前调用时的数值仍然保留着。Fun(a,5)的值是15,再次调用后sum=15,所以Fun(b,4)=45,s=45+15=60。

计算机二级