问题
填空题
以下程序的输出结果是【 】。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。