看板 C_and_CPP 關於我們 聯絡資訊
各位大大好,小弟第一次發問,若有不妥之處歡迎指點。 開發平台(Platform): (Ex: Win10, Linux, ...) CentOS release 6.7 Final i686 編譯器(Ex: GCC, clang, VC++...)+目標環境(跟開發平台不同的話需列出) gcc version 4.4.7 20120313 (Red Hat 4.4.7-16) 額外使用到的函數庫(Library Used): (Ex: OpenGL, ...) 問題(Question): 我正在練習指標的傳遞 先將一維指標陣列傳入函式中進行由小到大氣泡排序 但是發現傳回來的結果 最大的那個數都會變成零 如果使用一維陣列的方式去做就會回傳正確的結果 想問說我不是遺漏什麼了或是指標的排序要再修改什麼? 先感謝各位的回答了! 附上我寫的程式碼:http://codepad.org/DEqkmByY -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 61.230.119.97 ※ 文章網址: https://www.ptt.cc/bbs/C_and_CPP/M.1502113154.A.9EE.html
ilikekotomi: 邊界條件要注意 i=10的時候 會比較到a[9]>a[10] 08/07 21:46
感謝ilikekotomi大 那為什麼在使用一維陣列的方式來排序的時候不會發生呢? ※ 編輯: pillbox1989 (61.230.119.97), 08/07/2017 21:57:02
ilikekotomi: 用debugger看a[10]才知道 可能a[10]的位置比a[9]大 08/07 21:58
ilikekotomi: 在我的環境測 程式結束時會因改到stack變數造成crash 08/07 22:04
狀況真如你所說的狀況,問題解決了 那你是使用什麼開發環境呢? ※ 編輯: pillbox1989 (61.230.119.97), 08/07/2017 22:12:02
ilikekotomi: 你好 不好意思回覆晚了 我用win7 + vs2015 08/07 23:17
JFLung9536: j最大是9 j+1 = 10 但你沒有a[10] 08/07 23:25