为什么会反向打印每天所剩桃子数?

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

梦想就是程序员

2019-08-06 15:48

没有循环语句,为什么会反向打印每天所剩桃子数???

写回答 关注

1回答

  • 小小疾飞
    2019-08-06 16:09:03
    已采纳

    int getPeachNumber(n)

    {

        int num;    //定义所剩桃子数

        if(n==10)

        {

           return 1;       //递归结束条件

        } 

        else

        {

            num = (getPeachNumber(n+1)+1)*2;   //这里是不应该用递归呢?

            printf("第%d天所剩桃子%d个 %d\n", n, num); //天数,所剩桃子个数

        }

        return num;

    }

    getPeachNumber(n)这个函数一直被调用一层一层的。

    num = (getPeachNumber(n+1)+1)*2;   //这里是不应该用递归呢?这一行语句一直执行直到getPeachNumber(10),所以说这个函数被调用了10次,9次要printf所以getPeachNumber(9)的printf先打出来。最后调用的函数最先走完嘛。

    慕少9114... 回复小小疾飞

    你比如5-7递归函数(一)里面的那个,只是返回数值,那个自定义函数里面也没有输出,这个5-8里的自定义函数有了输出,怎么主程序也能把这些自定义函数输出的东西也给输出了

    2019-09-16 19:03:22

    共 8 条回复 >

C语言入门

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

926212 学习 · 20797 问题

查看课程

相似问题