嘿,我想用一些递归来刷新我的想法。
我想添加从“开始”到“结束”(含)的所有数字。
即如果开始是 1,结束是 5。那么答案就是 1+2+3+4+5 = 15
到目前为止我已经得到了这个
int calc(int start, int end){
if(start > end)
return total;
else{
total = total + start;
return sum1(start++, end);
}
}
它不起作用(我遇到段错误)。我究竟做错了什么?
编辑:抱歉,我在实际代码中使用了相同的变量,当我写这篇文章时,我最终将它们作为开始/结束,并忘记更改所有代码。
什么是from
and to
函数内的变量?也许你使用一些全局变量而不是使用start
and end
这就是你遇到问题的原因?另外你为什么使用sum1
在 - 的里面calc
函数而不是calc
?
试试这个:
int calc(int start, int end){
if(start > end)
return 0;
else
return start + calc(start + 1, end);
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)