這個程序的遞歸實現(xiàn)了某種類型的螺旋狀while循環(huán)梅割。while循環(huán)在循環(huán)體每次執(zhí)行時必須取得某種進展继控,逐步迫近循環(huán)終止條件求泰。遞歸函數(shù)也是如此卤唉,它在每次遞歸調用后必須越來越接近某種限制條件。當遞歸函數(shù)符合這個限制條件時低飒,它便不在調用自身许昨。
遞歸滿足2個條件:
1)有反復執(zhí)行的過程(調用自身)
2)有跳出反復執(zhí)行過程的條件(遞歸出口)
程序在計算5的階乘的時候,先執(zhí)行遞推褥赊,當n=1或者n=0的時候返回1糕档,再回推將計算并返回。由此可以看出遞歸函數(shù)必須有結束條件拌喉。
一句話總結遞歸:自我調用且有完成狀態(tài)速那。