係統粉 > 電腦問答 > 其他問答

已解決弄不清遞歸函數的調用

提問者:summer南久  |  瀏覽次  |  提問時間:2017-03-06  |  回答數量:6

就是弄不清,問題一:一開始執行第一遍之後為什麼還會在執行第二遍。我知道是有條件的,但是看不懂勒弄不清遞歸函數的調用(圖1) 再然後就是,問題二:最後遞歸結束之後,它又怎麼會一層又一層的反會上去呢? 在書上的例子: 一開始n就被賦值為5. int age(int n) {     int c;     if(n==1)           c=10;         else         c=age(n-1)+2;  //解釋問題一:第一遍執行到這裏,就會返回C。(我知道此時C什麼也沒有)但是為什麼還會執行後幾遍?            return (c); } 我是這樣想的, 執行第一遍之後隻所以執行第二遍 是因為“age(n-1)”,它又調用了自身。又因為“(n-1)”,所自身在走一遍程序的時候,n變成4了。ps一下下:減一了,但是沒有寫賦值給n,n怎麼會變4? 第二個就是 因為這個 return (c);,就是求 C,所以才會一層層的上去,直到上不了(n=5),

已有6條答案
搖擺哥燥起來

搖擺哥燥起來

回答數:214  |  被采納數:72

age(n-1)把4賦值給n
2017-03-06 11:52:40
讚 21
zhouxiean

zhouxiean

回答數:188  |  被采納數:134


看看我問題和我自己的解釋, 有哪些是不對的地方?請指教一下!
2017-03-06 16:15:20
讚 18
ann大桐思密達

ann大桐思密達

回答數:219  |  被采納數:119


沒錯,你可以按F11看他是怎麼執行的
2017-03-06 13:21:42
讚 21
x笑是一種美德

x笑是一種美德

回答數:9  |  被采納數:115


嗯嗯 不知道怎麼回事一調試,彈出來的窗口就關不了,額。怎麼回事呐?我的是 VC++6.0的,求幫忙..嘿嘿(1)
2017-03-06 13:32:52
讚 0
真名士…自風流

真名士…自風流

回答數:200  |  被采納數:47


(2)

按這個按鈕停止
2017-03-06 14:29:13
讚 20
__宇阿鍋

__宇阿鍋

回答數:183  |  被采納數:63


嗯嗯 曉得勒!謝謝儂!(3)
2017-03-07 00:42:54
讚 18
相關問答
最新其他問答
解決方法