递归函数初步了解!以及案例!
c语言的函数调用是允许直接或者间接调用该函数的本身的,存在调用函数本身的函数就称为:递归函数。用途方面:一般递归函数用于解决具有递归性质的问题,简单举个例子An=f(A(n-1)),如果第n项可以用第n-1项或者更前的项来表示,就证明可以用递归函数这个方面来实现。例如:求1+2+3+.....+n的和,因为An=A(n-1)+1;
而且要主要使用递归函数时候,必须要设置一定条件结束递归调用,否则会导致无限递归,而无法结束!
最简单的例子:求n!
//递归求N!
#include <stdio.h>
int main()
{
long fac(int n);
int m;
printf("请输入一个整数!\n");
scanf("%d",&m);
printf("%2d!=%d\n",m,fac(m));
return 0;
}
long fac(int n)
{
if(n==1)
return 1L;
else
return n*fac(n-1);
}