如下的return 1改成return 0行不行,它在这里是什么作用?

int sum (int n) { if(n==0||n==1) return 1; else return n+sum(n-1); } 这是程序的一部分

牧羊人nacy
浏览 96回答 2
2回答

翻阅古今

不行啊,返回值是有意义的你需要先弄清楚这个函数是干什么的。它是递归函数,第n项是n和第n-1项的和,如果返回0,所有想都为0了。

aluckdog

这是用递归做1+2+3+...+nreturn1;不能直接改成return0,这样会少加一个1,但可以这样:intsum(intn){if(n==0)return0;elsereturnn+sum(n-1);}
打开App,查看更多内容
随时随地看视频慕课网APP