为了账号安全,请及时绑定邮箱和手机立即绑定

这个语句怎么解读 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;

}


正在回答

2 回答

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

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

0 回复 有任何疑惑可以回复我~
#1

BossZn 提问者

非常感谢!
2015-11-13 回复 有任何疑惑可以回复我~

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

0 回复 有任何疑惑可以回复我~
#1

BossZn 提问者

他就是一层一层的递归呀
2016-01-11 回复 有任何疑惑可以回复我~
#2

月影晴天

递归 句反应所剩桃数与所剩桃数关系 第n剩桃数=(第n+1剩桃数+1)*2
2016-11-18 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消

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

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信