递归函数
递归函数:在一个函数中再次再次调用该函数自身的行为叫做递归。
例子:阶乘、斐波那契数列...
递归有直接递归和间接递归之分:
(1)直接递归:直接调用函数本身;
(2)间接递归:指函数体中没有直接调用自身函数,而是调用了另一个函数,在那个函数里,出现了调用本函数的语句。或者,在那个函数里,又调用了一个其他函数,反复出现调用其它函数,而最后有一个函数调用了本函数;
递归问题的解通常分三个步骤:第一步拿到问题分析问题,并找到逐渐减小问题规模的递归,这样通过递归使问题的规模逐渐变小。第二步,找到递归的最小规模,即算法可解的最小规模。第三步,设计函数,就可以开始写函数了。
C语言中的递归函数必然会使用判断语句。
递归函数在需要编写的时候定义函数的出口,否则
栈会溢出。
由于系统的栈空间有限,因此递归函数不能无限的使用。