[問題] 遞回的相關問題

看板C_and_CPP (C/C++)作者 (千里之外)時間14年前 (2012/06/12 17:59), 編輯推噓0(003)
留言3則, 2人參與, 最新討論串1/1
d開發平台(Platform): (Ex: VC++, GCC, Linux, ...) dev-c 額外使用到的函數庫(Library Used): (Ex: OpenGL, ...) 問題(Question): 將一函數餵入的陣列,其奇位數的總和用"遞回"算出來 如一函數OddSum(int arr[],int n); int arr[3],arr[0]=3, arr[1]=4, arr[7],則OddSum(arr,3)==> 3+7=10 餵入的資料(Input): int oddSum(int arr[], int n){ if((n-1)%2==0) return arr[n-1]+ oddSum(arr,n-1); //奇數項 else return oddSum(arr,n-1); //偶數項 } 預期的正確結果(Expected Output): 算出答案 錯誤結果(Wrong Output): 畫面一逝即過...就沒了,我明明有system("pause"); 有時遞回的程式都會有這種現象...請教各位大大...是什麼情況?? 程式碼(Code):(請善用置底文網頁, 記得排版) 補充說明(Supplement): -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 1.168.32.85 ※ 編輯: spiderman007 來自: 1.168.32.85 (06/12 18:02) ※ 編輯: spiderman007 來自: 1.168.32.85 (06/12 18:11)

06/12 18:11, , 1F
你的程式似乎會一直無窮無盡的算下去...
06/12 18:11, 1F

06/12 18:12, , 2F
似乎是自己忘了加 if(n<0) return 0; 抱歉!!
06/12 18:12, 2F

06/12 18:15, , 3F
http://ideone.com/39Hk1 遞迴我很弱,看看就好XD
06/12 18:15, 3F
文章代碼(AID): #1FrnCDwr (C_and_CPP)
文章代碼(AID): #1FrnCDwr (C_and_CPP)