c语言函数的递归调用

函数递归调用是如何实现调用自身的??该怎么理解 希望能举个例子 非常感谢

递归必须满足两个条件:1.初始条件;2.递归函数.举个例子,求阶乘:有f(1)=1;f(n)=n*f(n-1)(n≥2)现在你可以实现如下:long func(int n)//定义函数
{
long f,s=0;
if(n==1)f=1;
else
{
f=func(n-1)*n; //这里就是一个递归的过程,自身调用自身
s=s+f;
}
return s;
} 假设你现在是求3!执行过程就是:f(3)=f(2)*3;然后调用自身:f(2)=f(1)*2;在调用遇到初始条件:f(1)=1;则f(3)=1*2*3=6
温馨提示:答案为网友推荐,仅供参考
第1个回答  2013-10-27
经典 求N!的阶层 递归调用long N(int n){if (n=1 || n=0) return 1;</p><p>else return N(n-1)*n;}
第2个回答  2013-10-27
int add(int i){i++;add(i);return 1;}无限循环的递归。。
第3个回答  2013-10-27
long fact(long n){//求阶乘的例子 if(n==1)return 1;//n=1时,1!=1 else return n*fact(n-1);//其他返回n*fact(n-1)}main(){ printf("6!=%ld\n",fact(6));}
第4个回答  2013-10-27
恩,是这样的,那些文件都是MP4自身的,你只要把你要下载的东西放在里面,MP4会自动帮你分类的,好像是这样的
相似回答