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

求大神帮忙,递归函数的这里无法理解急!

https://img1.sycdn.imooc.com//5d2c9c330001adb314401080.jpg红线划这里是怎么实现对函数的多次调用的?就是(n-1)n直接跟在定义了的函数后面是怎么实现多次调用的?还有为什么直接就是跟在后面,有点无法理解........

正在回答

1 回答

首先吐槽一下图片看不太清楚。其次,回答正题。int getWordNumber(int n){},函数的返回类型是int整形。假设n=10,那么10不等于1,所以是走else。return返回 getWordNumber(n-1)+n 也就是getWordNumber(9)+10。那么结果很明朗了,直到getWordNumber(1),进去if成立,递归结束。return后面可以跟只要是类型是返回类型的任何东西,在这里是int。

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

MeIody 提问者

哈哈谢谢大佬,也就是说return后面跟函数类型直接就反回到该函数,然后一直到满足退出循环的一个条件之一 在上面就是第一个或者第二个有确切输出值而不是函数类型才结束递归函数是吗?
2019-07-16 回复 有任何疑惑可以回复我~
#2

MeIody 提问者

回复看见晚了点所以采纳晚了,sorry啊
2019-07-16 回复 有任何疑惑可以回复我~
#3

小小疾飞 回复 MeIody 提问者

返回类型 函数名称(参数) {函数体} 以上是函数的结构。 稍稍纠正一下。没有函数类型这个东西,是函数的返回类型。递归是函数调用函数本身。所以返回值一定满足自身的返回值。return 后可跟函数返回类型符合的任何东西,而不只是函数。一般不叫递归函数。一般说这个方法叫递归。
2019-07-16 回复 有任何疑惑可以回复我~
#4

MeIody 提问者 回复 小小疾飞

刚刚试了下,也从概念上理解了,非常感谢!原谅小白的失误~
2019-07-16 回复 有任何疑惑可以回复我~
查看1条回复

举报

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

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

进入课程

求大神帮忙,递归函数的这里无法理解急!

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