您好,登錄后才能下訂單哦!
本篇文章為大家展示了C語言中如何實現遞歸,內容簡明扼要并且容易理解,絕對能使你眼前一亮,通過這篇文章的詳細介紹希望你能有所收獲。
/* 定義 : 即在函數內部函數自己調用自己,已達到實現類似于循環結構的功能; 注意點:遞歸必須要有明確的結束語句,否則容易形成死循環; 遞歸案例分析:計算n!,這里以計算4!為例,進行說明遞歸的工作原理: */ int powder(int num); //遞歸函數聲明; int main(int argc, const char * argv[]) { int num = 3; //定義變量; int result = powder(3); //調用遞歸函數; printf("result = %i\n",result); //打印結果; } int powder(int num) //遞歸函數定義; { int result = num; if (num == 1) //遞歸函數結束條件; { return result; }else{ return powder(num - 1) * num; //遞歸調用; } } /* 遞歸函數執行過程分析; 待程序執行至int result = powder(3)語句時: 為powder()函數分配內存空間; /* / num = 3 / //為num分配的內存空間; / result = 3 / //為result分配的內存空間; / 判斷num != 1執行else內的語句/ / return powder(2) * 3 / */ 執行至return powder(2) * 3時,再次為powder(2)分配一塊內存空間; /* / num = 2 / //為num分配一塊內存空間; / result = 2 / //為result分配一塊內存空間; / if條件判斷num != 1執行else語句塊/ / return powder(1) * 2/ */ 執行至return powder(1) * 2時,再次為powder(1)分配一塊內存空間; /* / num = 1/ //為num分配一塊內存空間; / result = 1/ //為result分配一塊內存空間; /if條件判斷,num = 1,執行return 1,將值返回給return powder(1) * 2處,計算后,將2返回給return powder(2) * 3處,計算后,將結果6返回,函數執行結束/ */ */
上述內容就是C語言中如何實現遞歸,你們學到知識或技能了嗎?如果還想學到更多技能或者豐富自己的知識儲備,歡迎關注億速云行業資訊頻道。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。