我想知道这个代码的运算过程

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

天神墨迹

2020-01-25 17:27

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

}


写回答 关注

1回答

  • weixin_慕尼黑9260085
    2020-12-02 17:30:59

    getPeachNumber(1)=(getPeachNumber(2)+1)*2 

    getPeachNumber(2)=(getPeachNumber(3)+1)*2 

    getPeachNumber(3)=(getPeachNumber(4)+1)*2 

    ..........

    getPeachNumber(8)=(getPeachNumber(9)+1)*2 

    getPeachNumber(9)=(getPeachNumber(10)+1)*2 

    getPeachNumber(10)=1

    依次反代回去


C语言入门

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

926021 学习 · 20793 问题

查看课程

相似问题