求大神解答
覺(jué)得最后結(jié)果不是應(yīng)該result=1嗎?為什么會(huì)是120,最后不是進(jìn)入了這個(gè)條件語(yǔ)句了?
else if(n==0||n==1)
{
result=1;
}
為什么不是返回的result=1
覺(jué)得最后結(jié)果不是應(yīng)該result=1嗎?為什么會(huì)是120,最后不是進(jìn)入了這個(gè)條件語(yǔ)句了?
else if(n==0||n==1)
{
result=1;
}
為什么不是返回的result=1
2015-10-11
舉報(bào)
2015-10-11
遞歸是在函數(shù)中再次調(diào)用自己,也就是層層調(diào)用。
最后一次調(diào)用factorial——也就是最深的那次調(diào)用——肯定是進(jìn)入這個(gè)判斷分支了,會(huì)返回1。但并不是返回給main中的num,這個(gè)1會(huì)返回給前一次調(diào)用的factorial函數(shù)。 然后這層層調(diào)用會(huì)依次將返回值返回給調(diào)用者,直到返回至最早的那次factorial函數(shù)調(diào)用,再返回給main中的num。
更具體的說(shuō)明請(qǐng)看這里我的回答:?http://idcbgp.cn/qadetail/90499
2015-10-12
非常感謝= =