作者pillbox1989 (如履薄冰)
看板C_and_CPP
標題[問題] 指標陣列的氣泡排序法
時間Mon Aug 7 21:39:10 2017
各位大大好,小弟第一次發問,若有不妥之處歡迎指點。
開發平台(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://webptt.com/m.aspx?n=bbs/C_and_CPP/M.1502113154.A.9EE.html
1F:→ ilikekotomi: 邊界條件要注意 i=10的時候 會比較到a[9]>a[10] 08/07 21:46
感謝ilikekotomi大
那為什麼在使用一維陣列的方式來排序的時候不會發生呢?
※ 編輯: pillbox1989 (61.230.119.97), 08/07/2017 21:57:02
2F:→ ilikekotomi: 用debugger看a[10]才知道 可能a[10]的位置比a[9]大 08/07 21:58
3F:→ ilikekotomi: 在我的環境測 程式結束時會因改到stack變數造成crash 08/07 22:04
狀況真如你所說的狀況,問題解決了
那你是使用什麼開發環境呢?
※ 編輯: pillbox1989 (61.230.119.97), 08/07/2017 22:12:02
4F:→ ilikekotomi: 你好 不好意思回覆晚了 我用win7 + vs2015 08/07 23:17
5F:→ JFLung9536: j最大是9 j+1 = 10 但你沒有a[10] 08/07 23:25