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

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

最后返回值不是1嗎??求解釋

運算到最后的時候不是n==1?為什么返回值不是1,而是遞歸的返回值??????

正在回答

1 回答

因為在主方法main中調用了getWordNumber方法,當函數走到int num = getWordNumber(10)時又會返回去調用getwordNumber方法;反復執行直到滿足遞歸函數終結條件停止;

遞歸函數的執行過程:執行時遇到getWordNumber(10),保存當前的n(n-1)+n以及getWordNumber(10)執行完后的返回地址;然后繼續執行,繼續對局部變量和函數返回地址入棧保存。直到遇到遞歸結束條件,開始彈棧,這是將棧頂n域值恢復給n,棧頂地址域作為返回地址出棧,繼續這樣下去,直到???,最終所得的n就是所要求得值。

0 回復 有任何疑惑可以回復我~

舉報

0/150
提交
取消

最后返回值不是1嗎??求解釋

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

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

幫助反饋 APP下載

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

公眾號

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