一.函数递归的两个阶段
1.递推阶段,从原问题出发,按照递归公式递推,从未知到已知,最终达到递归终止条件。
2.回归阶段,按递归终止条件求出结果,逆向逐步带入递归公式,回归原问题求解。
二.代码实现
#include<stdio.h>
int fun(int n)
{
if(n == 1 || n == 0)//1和0的阶乘都是1
return 1;
else
return n*fun(n-1);
}
int main()
{
printf("%d\n", fun(5));//输出函数返回值
return 0;
}
三.运行结果
验证正确 5的阶乘为120。