[問題] 想請問一個遞回的問題

看板C_and_CPP (C/C++)作者 (杰克)時間16年前 (2009/06/12 15:22), 編輯推噓2(202)
留言4則, 3人參與, 最新討論串1/1
想請問一個遞回的程式問題: 目的是顯示出1 2 3 4 5 6 7 8 9 10 以下為我的程式碼: void a(int x); int main() { a(1); system("PAUSE"); return 0; } void a(int x) { a(x+1); if(x>10) return; cout<<x; } 我是使用dev c++ 來complier的 但是我執行時 程式會跳一下命令字元的畫面 馬上又跳掉 我也已經加了system("PAUSE") 而我嘗試過把函式中的a(x+1) 就不會有這種突然跳掉的情況 想請問各位前輩 我是不是有哪個地方 或觀念上沒注意到嗎? -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 219.84.27.29

06/12 15:24, , 1F
邏輯錯誤, x=10->執行a(11)->x=11->執行a(12)
06/12 15:24, 1F

06/12 15:29, , 2F
遞迴結束條件應該放在 a(x+1); 之前
06/12 15:29, 2F

06/12 15:30, , 3F
用人腦模擬一次程式會執行的順序, 或是用 debugger 觀察吧
06/12 15:30, 3F

06/12 16:42, , 4F
感謝樓上二位前輩!解惑了!
06/12 16:42, 4F
文章代碼(AID): #1ACW8Scb (C_and_CPP)
文章代碼(AID): #1ACW8Scb (C_and_CPP)