易百教程

79、C语言中的递归是什么?

递归是函数调用自身的过程,直接或间接调用自身的函数称为递归函数。 递归函数调用自身,所以可以有多个递归调用,所以递归函数应该有终止条件来中断递归。 如果递归函数中存在非终止条件,则会发生堆栈溢出,程序将崩溃。
递归函数可用于解决许多数学问题,例如生成斐波那契数列、计算数字的阶乘以及便于递归定义的数据结构(如树)。

让我们看一个例子,

void test( int n)
{
    test(n);
   // Remaining code
}

在上面的代码中,test()是一个调用自身的递归函数。 可以看到,如果不将终止条件放在 test() 中,就会发生堆栈溢出。 所以必须在 test() 中设置一个条件来避免无限循环(直到不发生堆栈溢出)。

看下面的代码 -

void test()
{
    if(condition)
        test();
//code
}