亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定

遞歸函數

5a6350e40001d97105400960.jpg
請問這個程序是怎么運行的啊 能詳細的解釋一下過程嗎

正在回答

2 回答

我是這么想的,既然你能理解factrial(5)運行到result=factorial(4)*5,是否可以理解從factorial(4)運行到result=factorial(3)*4?這時候我可以把它(result=factorial(4)*5)等價到(result=factorial(3)*4*5)。。。就這樣重復。這個函數從main開始執行,到printf轉到factorial執行完之后(即result=facorial(1)*120;result=120),return result;printf答案,結束。。。。。不知道想的對不對,只是我自己的理解,有機會你可以問一下高手們。

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

慕粉1239299916 提問者

嗯嗯 差不多明白了 那么從執行到結束 應該從return 1的時候開始 整個運算程序就結束了 剩下的就是打印輸出了吧
2018-01-23 回復 有任何疑惑可以回復我~

這個程序,從main開始運行,調用factorial(5),到printf時,程序再到factorial(n)開始運行,n=5,取else,result=factorial(4)*5→result=factorial(3)*4*5..........result=factorial(1)*2*3*4*5→result=120,return result。。。。。。新手 自己的理解 希望有幫助

3 回復 有任何疑惑可以回復我~
#1

慕粉1239299916 提問者

其他的我都明白 但是從 result=factorial(4)*5 開始是怎么執行到result=factorial(3)*4*5的呢 執行完else以后 接下來的程序該從哪里執行啊
2018-01-22 回復 有任何疑惑可以回復我~

舉報

0/150
提交
取消
C語言入門
  • 參與學習       926904    人
  • 解答問題       21532    個

C語言入門視頻教程,帶你進入編程世界的必修課-C語言

進入課程

遞歸函數

我要回答 關注問題
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號