有以下程序: #include int sum(int*array,int len) { if(len==1) return array[1]; else return array[1]+sum(array+1,len-1); } main() { int

admin2017-07-05  24

问题 有以下程序:
#include
int sum(int*array,int len)
{
if(len==1)
return array[1];
else
return array[1]+sum(array+1,len-1);
}
main()
{
int arrayE 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选项。
转载请注明原文地址:https://kaotiyun.com/show/VdDp777K
0

最新回复(0)