函数递归调用是如何实现调用自身的??该怎么理解 希望能举个例子 非常感谢
éå½å¿
须满足两个æ¡ä»¶ï¼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
{
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会自动帮你分类的,好像是这样的