這里面的return 1;是什么意思????有大神能看懂嗎??
#include <stdio.h>
int getPeachNumber(n)
{
? ? int num;? ? //定義所剩桃子數(shù)
? ? if(n==10)
? ? {
? ? ? ?return 1 ;? ? ? //遞歸結(jié)束條件
? ? }?
? ? else
? ? {
? ? ? ? num = (getPeachNumber(n+1)+1)*2;? ?//這里是不應(yīng)該用遞歸呢?
? ? ? ? printf("第%d天所剩桃子%d個(gè)\n", n, num); //天數(shù),所剩桃子個(gè)數(shù)
? ? }
? ? return num;
}
int main()
{
? ? int num = getPeachNumber(1);
? ? printf("猴子第一天摘了:%d個(gè)桃子。\n", num);
? ? return 0;
}
2018-10-29
因?yàn)榈谑煜憬吨挥幸粋€(gè)了,?num = (getPeachNumber(n+1)+1)*2,
第十天num = 1????//return 1????? ?(因?yàn)閕f判斷n==10,會(huì)return 1);
第九天num = (1+1)*2????//return 4????????最左邊的數(shù)上次遞歸調(diào)用的返回值,你應(yīng)該應(yīng)該能看出來(lái);????????
第八天num = (4+1)*2????//return 10;
以此類(lèi)推......
第一天時(shí),第二天的返回值是766,所以num = (766+1)*2;? //return 1534;
第一天就返回了1534.
2018-10-28
返回值為1吧