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

这个语句怎么解读 num=(getPeachNumber(n+1)+1)*2;


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

}


提问者:BossZn 2015-11-13 17:02

个回答

  • sixGod
    2015-11-13 17:26:19
    已采纳

    num=(getPeachNumber(n+1)+1)*2;

    顺序是先执行getPeachNumber(n+1),得到的值+1,然后*2,最后赋值给num

  • 喵喵喵喵喵0
    2016-01-06 00:22:13

    执行顺序我懂,可是我不懂这个语句的意思。。大神 能解释下嘛?谢谢啦