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

来源:5-8 递归函数(二)

BossZn

2015-11-13 17:02


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

}


写回答 关注

2回答

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

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

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

    BossZn

    非常感谢!

    2015-11-13 17:28:49

    共 1 条回复 >

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

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

    月影晴天

    递归 句反应所剩桃数与所剩桃数关系 第n剩桃数=(第n+1剩桃数+1)*2

    2016-11-18 13:39:12

    共 2 条回复 >

C语言入门

C语言入门视频教程,带你进入编程世界的必修课-C语言

926021 学习 · 20793 问题

查看课程

相似问题