课程
/后端开发
/C
/C语言入门
第二次调用为什么会跟第一次的值不一样呢?总想不明白。又没有n-1=n
2016-10-22
源自:C语言入门 5-7
正在回答
第一次调用时n=10,就会return getWordNumber(n-1)+n,也就是getWordNumber(10-1)+10;
而getWordNumber(10-1)返回的是getWordNumber(9-1)+9;
...一直往下减
getWordNumber(2)返回getWordNumber(2-1)+2;
getWordNumber(1)返回1;
所以getWordNumber(10)就等于:
getWordNumber(1)+2+3+4+5+6+7+8+9+10=55.返回什么可以直接用返回值替换原来的式子,就容易看明白了!
qq_照遍天宇_04160908 提问者
C_plus 回复 qq_照遍天宇_04160908 提问者
qq_照遍天宇_04160908 提问者 回复 C_plus
getWordNumber(10)
=getWordNumber(9)+10
=(getWordNumber(8)+9)+10
=((getWordNumber(7)+8)+9)+10
。。。。。。
=getWordNumber(1)+2+3+···+9+10
=1+2+3+···+9+10
=55
举报
C语言入门视频教程,带你进入编程世界的必修课-C语言
2 回答C语言入门~~递归函数
2 回答c语言入门之, 5-8 递归函数
1 回答C语言入门~~递归函数的输出顺序
1 回答C语言入门~~谁能讲解下递归函数,总想不通了!
2 回答关于“C语言入门”的分数问题