例题中的else if (n==0|| n==1)中为什么要写n==0?当n到 factorial(2-1)*n 是不就已经结束接下去就是 return 吗?

来源:5-7 递归函数(一)

世界太乱挂了咋办

2016-02-06 21:12


题目就是问题·~~求大神们解释下~递归真的有点绕···

写回答 关注

3回答

  • vialook
    2016-05-03 18:15:48

    n==0是当你在主函数调用时,应对实参值为0的情况的。其实把这俩分开你就可以理解了。

    else if (n == 0)

    {

        return 1;

    }

    else if (n == 1)

    {

       return 1;

    }

    想必这么久了,应该早就想通了吧。

  • 侠客岛的含笑
    2016-02-17 22:35:36

    0的阶乘是1,还有n=1和0的时候呢不会直接return的

    世界太乱挂了...

    那是怎么理解它的顺序

    2016-02-18 20:58:11

    共 1 条回复 >

  • 我若有情天亦老
    2016-02-11 23:31:26

    0的阶乘是1,factorial(2-1)*n等于2*1(2的阶乘)

C语言入门

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

926212 学习 · 20797 问题

查看课程

相似问题