关于递归函数反向打印问题

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

废寝忘食陈同学

2019-08-06 16:12

1.递归函数中,位于递归调用前的语句和各级被调用函数具有相同的执行顺序;

 2. 递归函数中,位于递归调用后的语句的执行顺序和各个被调用函数的顺序相反

如何理解这两句话,可以举个实际例子么


写回答 关注

2回答

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

    陈同学,看看这个。

    #include <stdio.h>

    a=0;

    int getPeachNumber(n)

    {

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

        printf("第%d次\n",a++);

        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;

    }


    渴望学习

    你的创造函数里n没有int

    2019-09-24 15:37:34

    共 4 条回复 >

  • 小神0x00
    2019-08-06 16:18:27

    可以用函数f(x) (高中数学知识)  来理解递归

    我表述能力不太好,讲起来怕会云里雾里的?

    小神0x00 回复小小疾飞

    哪里哪里?

    2019-08-06 16:26:16

    共 2 条回复 >

C语言入门

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

926025 学习 · 20793 问题

查看课程

相似问题