大神萌,实在不明白return语句的用法
小甲鱼这个递归的例子里为什么是return1
这样函数的返回值不是1吗,为什么会是阶乘的结果
对return语句实在理解不是很清晰
只有在n==1的情况下才会返回1 https://fishc.com.cn/thread-159019-1-1.html n=1的时候有两种情况。
一是一开始传入的n就是1,这时候1的阶乘就是1;
二是一开始传入的不是1,返回n*factorial(n-1),n-1等于1的时候,就可以退出了
举个例子:
计算3!,一开始返回3*factorial(2),这时候再计算factorial(2) = 2*factorial(1),factorial(1)=1,退出递归,最后的结果就是3*2*1。 factorial(5)
factorial(4) * 5
factorial(3) * 4 * 5
factorial(2) * 3 * 4 * 5
factorial(1) * 2 * 3 * 4 * 5
1 * 2 * 3 * 4 * 5
页:
[1]