递归到最后为什么到0就终止了呢?

来源:7-1 Linux C递归函数之递归调用

sardipeng

2016-02-26 10:55

递归到最后为什么到0就终止了呢,运算到n<0为什么不会输出data error?

写回答 关注

1回答

  • LawrenceLam
    2016-02-26 20:26:24
    已采纳

    这取决于自己限定的结束条件,例如

    fun(int a)

    {    int  n;

         if (a==0||a==1)n=1;

         else n=fun(a-1)*a;

         return n;

    }

    当a大于1,程序就会不停地递归直至a=1求出fun(1)的值,进而一层层求出fun(2)......fun(a),最后返回a的阶乘

Linux C语言结构体

C语言的深入,帮助小伙伴们进一步的理解C语言,赶紧看过来

118294 学习 · 162 问题

查看课程

相似问题