问答详情
源自:5-8 递归函数(二)

为什么这里面调用前后输出差距那么大

。。。。。

https://img1.mukewang.com/5c4feef80001076d12310612.jpg

提问者:qq_邪炎_0 2019-01-29 14:13

个回答

  • 修裾欲溯空
    2019-01-29 20:26:58

    #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;
    }

    不如看看我的代码,你的代码有点问题,虽然能运行,不过逻辑是有点问题的