谁能帮我解释一下两个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。