亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定

有幾個問題不太懂。。。。求老師解答

?num = (getPeachNumber(n+1)+1)*2;這個語句還是不理解什么意思

正在回答

2 回答

這個是個賦值語句,會計算等號右側的值,并將其賦給num。

而等號右側括號中的第一項就是個函數調用,再次調用了這個函數getPeachNumber(n+1),其中有可能再次調用這個函數...直到某一次調用時傳入的參數n==10,滿足了遞歸結束條件,于是返回了1,而它的調用者(應該也是在一次getPeachNumber調用中)則完成了等號右側的計算,并將計算出來的值賦給了它的num,最后將其值返回給了它的調用者——也許還是在前一個getPeachNumber中......最終main函數中的num得到了計算出來的值。

這就是遞歸調用。

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

陌天 提問者

非常感謝!
2015-02-03 回復 有任何疑惑可以回復我~

getPeachNumber(2)=getPeachNumber(1)/2 - 1

推出

getPeachNumber(1)=(getPeachNumber(2)+1)*2

所以

num = (getPeachNumber(n+1)+1)*2

4 回復 有任何疑惑可以回復我~
#1

sanjiaofeng

為啥getPeachNumber(2)=getPeachNumber(1)/2 - 1? 這句話的意思是什么,能不能解釋一下,謝謝!
2015-07-06 回復 有任何疑惑可以回復我~
#2

sanjiaofeng

是不是這樣理解: 因為getPeachNumber(n)就是第n天的num; n=1時,getPeachNumber(1)是第一天的num,暫時用num1表示; n=2時,getPeachNumber(2)是第一天的num,暫時用num2表示; num1與num2之間滿足以下關系:num2 = num1 /2 - 1; 所以,getPeachNumber(2)=getPeachNumber(1)/2 - 1。 推出,getPeachNumber(1)=(getPeachNumber(2)+1)*2。 然后,就有了:num = (getPeachNumber(n+1)+1)*2。
2015-07-06 回復 有任何疑惑可以回復我~

舉報

0/150
提交
取消
C語言入門
  • 參與學習       926904    人
  • 解答問題       21532    個

C語言入門視頻教程,帶你進入編程世界的必修課-C語言

進入課程

有幾個問題不太懂。。。。求老師解答

我要回答 關注問題
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號