慕丝6464244
2018-06-14 10:10
为什么result=factorial(n-1)*n 就代表阶乘呢?
是不是factorial就代表阶乘函数
factorial(n-1)*n 相当于!(n-1)*n
这样说吧,就拿例题为例,求5!,在自定义函数中他有一次调用自己,那么就要从函数头开始运行。首先factorial(n-1)*n表示的就是4*5,接着调用自己factorial(n-1),那么factorial(n-1)*n就表示3*4*5,一次类推,2*3*4*5,1*2*3*4*5,0*1*2*3*4*5,-1*0*1*2*3*4*5。。。。。在自定义函数中我们知道当n<0时,return 0,那么n=0或1时,result=1,那么就不存在 0*1*2*3*4*5,-1*0*1*2*3*4*5。。。。。后面陆续的应该时1*1*2*3*4*5,1*1*1*2*3*4*5。。。。你想,这样是不是就可以简单的看成1*2*3*4*5,不就表示5的阶乘么。望采纳
请教一下
那程序 result 会不会返回值的时候,不会返回成1吗?result之前的值不会被覆盖?
C语言入门
926027 学习 · 20793 问题
相似问题