函数的递归调用是指???

函数的递归调用是指???,第1张

就是在一个函数内部调用这个函数如求n的阶乘

int fun(int n)

{

if(n==0)

return 1;

else

return nfun(n-1);

}

在else中就调用了 fun函数就是它自身

先调用函数f,然后把返回值赋值给z。不过这个函数不对,没有退出条件,无法停止。举例说明吧

int f(int x)

{

if(x==0)

{

return 1;

}

else

{

return xf(x-1);

}

}

假如f(3)

那么

第一次f(3):x!=0,调用f(2)

第二次f(2):x!=0,调用f(1)

第三次f(1):x!=0,调用f(0)

第四次f(1):x==0,返回1

返回第三次调用f(1):返回11=1;

返回第二次调用f(2):返回21=2;

返回第一次调用f(3):返回32=6;

f(3)的结果为6

一般来说是自己调用自己,一般有两个分支,一个分支是调用自己,还有一个分支是结束条件

如求n!

int f(int n)

{

if(n==1) //这个是结束条件

return 1;

else //这个是调用自己的分支

return nf(n-1);

}

还有一个比较复杂一点,是双向调用,也就是a函数调用b函数,b函数在调用a函数

这样循环调用,其实基于这个道理,还有多个函数互相调用,不过这样的情况很少见

但万变不离其宗,每个函数都有两个分支,一个是结束条件,一个是调用函数

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/12153717.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-21
下一篇 2023-05-21

发表评论

登录后才能评论

评论列表(0条)

保存