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

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

為什么結束條件num=1通不過,必須return 1?

#include <stdio.h>

int getPeachNumber(int 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;

}

正在回答

2 回答

剛剛才問同樣的問題,慕粉轉員的回答給我一種后然開朗的感覺,謝謝。

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

num=1是將1賦值給num,這樣就直接將num==1運用到接下來的程序中了。而return 1是循環第十次時,將1返回給?getPeachNumber(1),也就是getPeachNumber(1)=1。

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

慕斯卡6439517

可是計算結果是一樣的,這兩種方法應該都對吧
2016-07-26 回復 有任何疑惑可以回復我~
#2

慕粉3707250 提問者

但是接下來不就運行到“return num”了嗎?
2016-07-29 回復 有任何疑惑可以回復我~
#3

qq_細節造就完美男人_0 回復 慕斯卡6439517

對的,只是你的程序多了一步運算。沒什么區別。
2016-08-04 回復 有任何疑惑可以回復我~
#4

qq_細節造就完美男人_0

他的運算雖然把num==1帶入了后面的運算,但是并不影響,因為后面對num重新賦值了
2016-08-04 回復 有任何疑惑可以回復我~
查看1條回復

舉報

0/150
提交
取消

為什么結束條件num=1通不過,必須return 1?

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

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

幫助反饋 APP下載

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

公眾號

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