C语言递归调用
在调用一个函数的过程中又直接或间接地调用该函数本身,这就构成了函数的递归调用,C语言中提供递归调用机制。在函数中直接调用函数本身,称为直接递归调用。在函数中调用其它函数,其它函数又调用原函数,这就构成了函数自身的间接调用,称为间接递归调用。
包含有递归调用的函数称为递归函数。
当然递归调用与递归算法相适应,递归算法解决递归问题,通过递归调用将问题化繁为简。
递归算法具有两个基本特征:
(1)转化。对任意问题求解都有一定的规则,首先将其转化成比原问题规模小的类似问题,最终转化成一特定易解的类似问题。问题规模用一定的条件描述;类似问题的求解通过定义一个函数来完成;问题规模需转化成函数参数的形式来表示。
(2)终止。对特定简单易解类似问题,有明确解,这也就是递归调用的终止条件,常用f语句来控制。