问题 单项选择题

有以下程序:
int fun(int x[],int n)
static iht sum=O, i;
for(i=O;i retum sum;

main()
int a[]=1,2,3,4,5,b[]=6,7,8,9, s=O;
s=fun(a,5)+ fun(b,4); plint f("%d\n",s);

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

A.45

B.50

C.60

D.55

答案

参考答案:C

解析: 本题中fun()函数通过一个for循环来累计形参数组x的前n个元素之和。在主函数中,第1次调用fun(a,5)时,返回的值应该是数组a的前5个元素的和,而第2次调用fun(b,4)时,返回的值除了本次累计的数组b前4个元素的和外,还要加上上次累计的值。所以,最后输的s的值为数组 a所有元素之和的两倍加上数组b所有元素之和,结果是60。故应该选择C。

单项选择题
单项选择题