问题 填空题

以下程序的输出结果是【 】。int fun(int *x,int n) {if(n=0) return x[0];elsereturn x[0]+fun(x+1,n-1);}main( ){int a[]={1,2,3,4,5,6,7};printf("%d\n",fun(a,3));}

答案

参考答案:J

解析:本题考查的是函数的递归调用。在调用一个函数的过程中又直接或间接的调用该函数本身。第一次调用时,指针x指向的是a[0],n的值为3,每调用一次n自减1,x加1,指向数组a中的下一个元素,当n为0时函数开始返回,最后的返回值等于a[0]+a[1]+a[2]+a[3]=10。

单项选择题
单项选择题