选择题
有以下程序:
#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函数调用3次,完成的功能是将数组array[1]+array[2]+array[3]累加后返还给输出,累加后的值为12。因此,答案为D选项。
提交答案
关闭