有人能来解释一下这段代码吗

img


刚学习的递归代码,目前还不太明白,希望各路朋友们能帮忙答疑解惑

自己代数字进去 反正就是满足条件就输出 不满足将会再调用一次本身这个方法 直到满足条件为止

img

debug一步一步查看执行过程。

if(n<=0) return 1
这部分有具体实现了,然后
f(1)=f(0)=1
f(2)=2f(1)=2
f(3)=3
f(2)=6
以此类推,一步步拆分

log 看流程就可以了
先看跳出递归的条件是n<=0,如果不满足添加n-1,继续调用该函数直至满足跳出递归条件

fun(5)=5*fun(4)
fun(4)=4*fun(3)
fun(3)=3*fun(2)
fun(2)=2*fun(1)
fun(1)=1*fun(0)
fun(0)=1
fun(5) = 5*4*3*2*1*1=120 这么写不知道你能不能看明白

就是算n的阶乘的函数