c. 初学者递归问题...

来源:百度知道 编辑:UC知道 时间:2024/05/29 00:00:30
int sum(int a[], int n)
{
if(n>0)
return sum(a,n-1)+a[n-1];// 这里不明白.到底返回什么东西?调用又是怎样的?...
return 0;
}
一个参数还可以勉强理解,但两个参数完全不知道怎样搞..

这是递归求解数组a[]所有数字和啊
原理sum(a[n]) = sum(a[n-1]) + a[n] (简单写写可能不太好理解)
我们期末考试考的
return sum(...)的时候进行了递归调用。楼主把sum的内容带进去看看就能明白了

函数的递归调用,就是函数调用自己本身

继续调用函数,然后返回调用的函数的返回值

其实这里返还的就是int型的sun函数结果出来的一个值,至于调用就是在顺序执行是与sun一样的函数名并赋予其int a[], int n这么两个东西!这个我劝你多看看书。看多了自然就会了!祝你马到成功!

函数的递归调用,就是函数调用自己本身

基本的递归问题,还是好好看看算法的书吧,挺好学的。n代表a数组中参与运算元素的个数