递归函数的语句执行顺序特点

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

小鱼先生2333

2016-05-18 16:51

递归函数中,位于递归调用前的语句和各级被调用函数具有相同的执行顺序; 递归函数中,位于递归调用后的语句的执行顺序和各个被调用函数的顺序相反; 这段话什么意思?

写回答 关注

2回答

  • 2016-05-18 18:27:27
    已采纳

    我是这样想的:

    这句话的时间节点为:递归调用

    调用前,就是顺序运行,你肯定明白。

    调用后,语句需要后一项的输出才能执行,所以是倒叙。

    小鱼先生23...

    O(∩_∩)O谢谢

    2016-05-25 14:03:35

    共 1 条回复 >

  • soonyh
    2017-07-20 14:23:09

    function num(n,m){

        console.log(n);

        if(n<m){

            num(n+1,m);

            console.log(n);

        }

    }

    num(2,5)  //2345432

     

    // 1.首先执行num(2,5),就是

    // console.log(2); ->  num(3,5);  ->  console.log(2);

        

    //执行num(3,5);  就是是相当于   console.log(3); -> num(4,5); -> console.log(3);

     

    //下面以此类推

    // console.log(2); -> console.log(3); -> num(4,5); -> console.log(3); ->  console.log(2); 

     

    // 然后就是

    // console.log(2); -> console.log(3); -> console.log(4); -> num(5,5); -> console.log(4); -> console.log(3); ->  console.log(2);

     

    // 最后就是

    // console.log(2); -> console.log(3); -> console.log(4); -> console.log(5); -> console.log(4); -> console.log(3); ->  console.log(2);


C语言入门

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

926207 学习 · 20797 问题

查看课程

相似问题