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

求大神指点

为什么是((n+1)+1)*2而不是(n+1)*2

提问者:qq_愿时光安好_04050009 2016-10-16 16:11

个回答

  • 格格巫4206373
    2016-10-16 18:59:47

    里面的(n+1)是对于getPeachNumber函数的,然后得出的值再+1,然后再*2

  • 格格巫4206373
    2016-10-16 18:58:44

    #include <stdio.h>

    int getPeachNumber(int n)  //这里要定义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;

    }