result=factorial(n-1)*n;
return result;
这个就是调用自身
在n是5的情况下,
result=factorial(4)*5
此时factorila(4)结果未知,继续将factorila(4)代入函数
,factorila(3)结果又是未知的,以此类推
当n==1时,result结果为1,所以
当n==5时:
result=factorial(4)*5=factorial(3)*4*5=factorial(2)*3*4*5=factorial(1)*2*3*4*5=1*2*3*4*5=120
进行四次递归调用后,实参的值为 1,会调用 factorial(1)。此时能够直接得到常量 1 的值,并把结果 return,就不需要再次调用 factorial() 函数了,递归就结束了