課程
/后端開發(fā)
/C
/C語言入門
為什么調用自身函數(shù)那里可以算階乘,它不是只有兩個數(shù)嗎?就是factorial(n-1)*n這里,求大佬講解
2021-12-11
源自:C語言入門 5-7
正在回答
就是你在最下面給n賦值為5,那么調用函數(shù)之后就變成了result=factorial(5-1)*5,函數(shù)在計算的時候發(fā)現(xiàn)了自己,函數(shù)就只能調用了自己,factorial(5-1)就重新從factorial這個函數(shù)的頭開始判斷和計算,因為4>0且4不等于0和1,所以factorial(4)又等于factorial(4-1)*4,然后此時result=factorial(4-1)*4*5,然后函數(shù)又發(fā)現(xiàn)了自己,再次調用自身,一直進行階乘,直到result=factorial(2-1)*2*3*4*5,這時factorial(2-1)=1,而1是個常數(shù),也就相當于函數(shù)停止了對于自己的調用,此時result=1*2*3*4*5=120,就算出了階乘的值
潘晉松
weixin_慕函數(shù)0091506
舉報
C語言入門視頻教程,帶你進入編程世界的必修課-C語言
2 回答調用自身函數(shù)
3 回答調用自身一定是函數(shù)(n-1)嗎
1 回答遞推能算多大數(shù)的階乘
2 回答那個階乘的計算
1 回答關于階乘算法的問題
Copyright ? 2025 imooc.com All Rights Reserved | 京ICP備12003892號-11 京公網(wǎng)安備11010802030151號
購課補貼聯(lián)系客服咨詢優(yōu)惠詳情
慕課網(wǎng)APP您的移動學習伙伴
掃描二維碼關注慕課網(wǎng)微信公眾號
2022-02-09
就是你在最下面給n賦值為5,那么調用函數(shù)之后就變成了result=factorial(5-1)*5,函數(shù)在計算的時候發(fā)現(xiàn)了自己,函數(shù)就只能調用了自己,factorial(5-1)就重新從factorial這個函數(shù)的頭開始判斷和計算,因為4>0且4不等于0和1,所以factorial(4)又等于factorial(4-1)*4,然后此時result=factorial(4-1)*4*5,然后函數(shù)又發(fā)現(xiàn)了自己,再次調用自身,一直進行階乘,直到result=factorial(2-1)*2*3*4*5,這時factorial(2-1)=1,而1是個常數(shù),也就相當于函數(shù)停止了對于自己的調用,此時result=1*2*3*4*5=120,就算出了階乘的值