課程
/后端開發
/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語言入門”的分數問題
Copyright ? 2025 imooc.com All Rights Reserved | 京ICP備12003892號-11 京公網安備11010802030151號
購課補貼聯系客服咨詢優惠詳情
慕課網APP您的移動學習伙伴
掃描二維碼關注慕課網微信公眾號
2016-10-22
第一次調用時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.返回什么可以直接用返回值替換原來的式子,就容易看明白了!
2016-10-22
? ?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