c语言递归法c语言求s=2∧1+2∧3+2∧5+…… 求大佬解答

谁能帮我解释一下两个return的目的看鈈懂第二个... 谁能帮我解释一下两个return 的目的 看不懂第二个

举例:用递归方法求n;

专业C/C++软件开发

由这个概念可以得出递归求阶乘函数fact的算法:

1 如果传入参数为0或1,返回1;

第一个return求的是n>1时的阶乘这样一层一层地找下去,处理递归并返回结果第二个return前面省略了else,也就是当不满足n>1这个条件时执行的是判断递归的边界,返回的是1的阶乘的答案如果没有这个return,递归就没有边界一直进行下去,就会造成栈溢出

PS:我也是刚学,说的可能不是很好希望对你有帮助!

是返回到第一个return语句中,因为它已经处理完了fun(1)所以就往上一层fun(2)了。递归嘚过程是:fun(1)的值回代给fun(2)fun(2)的值回代给fun(3)……直到求出fun(10)=3628800。

第二个就是主函数啊它用10调用了fun函数,就是求10的阶乘输出為10!=3628800。

}

我要回帖

更多关于 递归法c语言 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信