递归函数必须有递归结束的条件。
虽然递归是效率低下的算法,但是有些情况只能使用递归解决。
#include <stdio.h>
int factorial(int num);
int main()
{
int sum,a;
scanf("%d",&a);
sum=factorial(a);
if(sum){
printf("%d的阶乘是%d",a,sum);
}
return 0;
}
int factorial(int num)
{
int t_result;
if(num<0)
{
t_result=0;
printf("输入错误!");
} else if(num==0||num==1){
t_result=1;
} else{
t_result=num*factorial(num-1);
}
return t_result;
}
本文探讨了递归算法的重要性,尽管其效率较低,但在某些问题中不可或缺。以计算阶乘为例,展示了如何使用C语言实现递归函数。代码中详细解释了递归结束条件,并给出了错误处理。通过递归计算阶乘,读者可以更好地理解递归的工作原理。
1487

被折叠的 条评论
为什么被折叠?



