为了账号安全,请及时绑定邮箱和手机立即绑定

例题中的else if (n==0|| n==1)中为什么要写n==0?当n到 factorial(2-1)*n 是不就已经结束接下去就是 return 吗?


题目就是问题·~~求大神们解释下~递归真的有点绕···

正在回答

3 回答

n==0是当你在主函数调用时,应对实参值为0的情况的。其实把这俩分开你就可以理解了。

else if (n == 0)

{

    return 1;

}

else if (n == 1)

{

   return 1;

}

想必这么久了,应该早就想通了吧。

0 回复 有任何疑惑可以回复我~

0的阶乘是1,还有n=1和0的时候呢不会直接return的

0 回复 有任何疑惑可以回复我~
#1

世界太乱挂了咋办 提问者

那是怎么理解它的顺序
2016-02-18 回复 有任何疑惑可以回复我~

0的阶乘是1,factorial(2-1)*n等于2*1(2的阶乘)

0 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消

例题中的else if (n==0|| n==1)中为什么要写n==0?当n到 factorial(2-1)*n 是不就已经结束接下去就是 return 吗?

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信