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

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

為什么遞歸結束條件不能是 num=1;?????? 必須return 1;???

#include <stdio.h>

int getPeachNumber(n)

{

? ? int num;? ? //定義所剩桃子數

? ? if(n==10)

? ? {

? ? ? ?num=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;

}

正在回答

5 回答

為什么return 1 是結束條件?

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

會不會有減少賦值使過程簡化的作用??

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

return的作用是返回調用值,也就是遞歸函數中的結束條件,遞歸函數的特點是自我調用且有完成狀態(結束條件),如果僅僅是num=1的話,就相當于沒有結束條件,畢竟機器不像人一樣看一眼就知道值要調用到哪里

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

慕蓋茨4222327 提問者

嗯嗯 謝謝你的回復~
2018-06-01 回復 有任何疑惑可以回復我~

嗯嗯? 是的 運行結果沒有問題。但是慕課會提示遞歸的結束條件那有問題。。。。所以我就較個真? 想明白“結束條件難道必須按照慕課的寫法?”

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

http://img1.sycdn.imooc.com//5a7d6a010001673f16940606.jpg

按照你的代碼,我運行的結果,沒問題啊,不需要return 1(按照你的num=1,后面return就行了)

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

舉報

0/150
提交
取消

為什么遞歸結束條件不能是 num=1;?????? 必須return 1;???

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

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

幫助反饋 APP下載

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

公眾號

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