为了账号安全,请及时绑定邮箱和手机立即绑定

这是为什么

return getWordNumber(n-1)+n

不明白为什么是return回getWordNumber

而且不是getWordNumber()而是getWordNumber(n-1)+n

正在回答

2 回答

没看懂 你是觉得那行改成什么合适?

0 回复 有任何疑惑可以回复我~
#1

慕婉清6553529 提问者

如果不看int main()的话,只看int getWordNumber,return getWordNumber(n-1)+n是不是反复把前面学过的单词加起来得到总和? 例如n=3的时候 执行完就得到 1+2+3是吗?形参和自定义函数有区别吗?getWordNumber在这里是自定义函数吗?
2019-09-09 回复 有任何疑惑可以回复我~
#2

小小疾飞 回复 慕婉清6553529 提问者

什么单词?你是说关键词?关键词加起来?形参是参数,自定义函数是函数。基础知识可以多看下。我还是不太明白你的表述。 return getWordNumber(n-1)+n; 你认为上面这个语句应该换成什么样?
2019-09-09 回复 有任何疑惑可以回复我~
#3

慕婉清6553529 提问者 回复 小小疾飞

单词是原题目的题干,抱歉我没说清楚;return getWordNumber(n-1)+n我也不知道改换成什么样,但我看不懂return getWordNumber(n-1)+n这样执行的过程会是什么 能不能告诉我当n=4的时候该怎么执行,哈哈哈哈哈给你带来麻烦了 再次抱歉
2019-09-09 回复 有任何疑惑可以回复我~
#4

小小疾飞 回复 慕婉清6553529 提问者

还是基础没搞懂。这是递归。简单来说,递归就是函数自己调用自己。 按你说的getWordNumber(4); 首先是return getWordNumber(4-1)+4;即return getWordNumber(3)+4; getWordNumber(3)就是return getWordNumber(3-1)+3;即return getWordNumber(2)+3; 合起来就是return getWordNumber(2)+3+4; 递归函数都有一个明确的退出条件,这个题目里面是if(n == 1){return 1;} 到这里就没有调用了。所以是return 1+2+3+4;
2019-09-09 回复 有任何疑惑可以回复我~
#5

慕婉清6553529 提问者 回复 小小疾飞

嗯好! 我明白了!谢谢!
2019-09-10 回复 有任何疑惑可以回复我~
查看2条回复

因为还有前面的单词没有加上,需要再循环,

0 回复 有任何疑惑可以回复我~
#1

慕婉清6553529 提问者

getWordNumber(n-1)+n 这一步是把前面的加上去吗?
2019-09-09 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消
C语言入门
  • 参与学习       926217    人
  • 解答问题       20797    个

C语言入门视频教程,带你进入编程世界的必修课-C语言

进入课程

这是为什么

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信