填空题 以下程序的输出结果是{{U}} 【17】 {{/U}}。 int fun(int *x,int n) { if(n= =0) return x[0]; else return x[0]+fun(x+1,n-1); } main() { int a[]={1,2,3,4,5,6,7};printf("%d/n",fun(a,3));}
  • 1、
【正确答案】 1、10    
【答案解析】[解析] 本题考查的是函数的递归调用。在调用一个函数的过程中又直接或间接的调用该函数本身。第一次调用时,指针x指向的是a[0],n的值为3,每调用一次n自减l,x加1,指向数组a中的下一个元素,当n为0时函数开始返回,最后的返回值等于a[0]+a[1]+a[2]+a[3]=10。