选择题
有以下程序:
#include <stdio.h>
int sum(int* array,int len)
if(len==1) return array[1];
else return array[1]+sum(array+1,len-1);
}
main()
{ int array[5]={0,9,1,2},res;
res=sum(array,3);
printf('%d\n',res);
}
程序运行后的输出结果是______
A、
27
B、
11
C、
8
D、
12
【正确答案】
D
【答案解析】
main函数先定义一个数组array,调用sum(array,3)函数,此时函数形参array指向数组首地址,形参len的值为3。在sum函数中,array[1]指向数组中元素9,sum函数调用三次,完成将数组array[1]+array[2]+array[3]累加后返回给输出,累加后的值为12。因此,答案为选项D。
提交答案
关闭