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

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

遞歸結束條件“return 1"為什么換做 ”num=1"也同樣可以執行呢?請大神指教~

#include <stdio.h>
int getPeachNumber(n)
{
??? int num;??? //定義所剩桃子數
??? if(n==10)
??? {
?????? return 1;?????? //遞歸結束條件
??? }
??? else
??? {
??????? num = (getPeachNumber(n+1)+1)*2;?? //這里是不應該用遞歸呢?
??????? printf("第%d天所剩桃子%d個\n", n, num); //天數,所剩桃子個數
??? }
??? return num;
}
int main()
{
??? int num = getPeachNumber(1);
??? printf("猴子第一天摘了:%d個桃子。\n", num);
??? return 0;
}

為什么遞歸結束條件“return 1"換做 ”num=1"也同樣可以執行呢?請大神指教~


正在回答

1 回答

return 1會立即返回1,

改成num = 1,程序則會執行函數末尾的return num,其中num=1;

實際效果一樣,都是返回1

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

菲爾活該 提問者

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

舉報

0/150
提交
取消

遞歸結束條件“return 1"為什么換做 ”num=1"也同樣可以執行呢?請大神指教~

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

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

幫助反饋 APP下載

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

公眾號

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