return a[0]+f(a+1,n-1);求解答
答案:1 悬赏:70 手机版
解决时间 2021-01-18 07:30
- 提问者网友:了了无期
- 2021-01-17 20:30
return a[0]+f(a+1,n-1);求解答
最佳答案
- 五星知识达人网友:十年萤火照君眠
- 2021-01-17 20:54
int f(int a[],int n)
{ if(n>1)
return a[0]+f(a+1,n-1);
else
return a[0];
}这是一个求和函数。
int aa[10] = {1,2,3,4,5,6,7,8,9,10}f(aa+2,4) 意味着 计算aa[2]+aa[3]+aa[4]+aa[5] 也就是计算从aa[2]开始的后四个数的和。
好,请看。把函数的结果展开,就有。
ff(aa+2,4) = (aa+2)[0] + f(aa+2+1,3) = aa[2] + f(aa+3,3) ,这里的(aa+2)[0]代表以aa+2为首地址的0号元素。自然就是跟aa[2]一样的了。
依次类推,有
ff(aa+2,4) = aa[2] + f(aa+3,3) = aa[2] + aa[3] + f(aa+4,2) = aa[2] + aa[3] + aa[4] + f(aa+5,1)
= aa[2] + aa[3] + aa[4] + aa[5] = 3+4+5+6 = 18
{ if(n>1)
return a[0]+f(a+1,n-1);
else
return a[0];
}这是一个求和函数。
int aa[10] = {1,2,3,4,5,6,7,8,9,10}f(aa+2,4) 意味着 计算aa[2]+aa[3]+aa[4]+aa[5] 也就是计算从aa[2]开始的后四个数的和。
好,请看。把函数的结果展开,就有。
ff(aa+2,4) = (aa+2)[0] + f(aa+2+1,3) = aa[2] + f(aa+3,3) ,这里的(aa+2)[0]代表以aa+2为首地址的0号元素。自然就是跟aa[2]一样的了。
依次类推,有
ff(aa+2,4) = aa[2] + f(aa+3,3) = aa[2] + aa[3] + f(aa+4,2) = aa[2] + aa[3] + aa[4] + f(aa+5,1)
= aa[2] + aa[3] + aa[4] + aa[5] = 3+4+5+6 = 18
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯