[問題] 指標存取二維陣列內容 與預期結果不符

看板C_and_CPP (C/C++)作者 (寂寞的和弦)時間14年前 (2012/06/08 17:20), 編輯推噓6(606)
留言12則, 5人參與, 最新討論串1/1
開發平台(Platform): (Ex: VC++, GCC, Linux, ...) dec-C++ 額外使用到的函數庫(Library Used): (Ex: OpenGL, ...) NO 問題(Question): 將二維陣列使用指標方式讀取 與預期結果不同 餵入的資料(Input):預期的正確結果(Expected Output): 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 錯誤結果(Wrong Output): 0 1 2 3 4 5 4 5 6 7 8 9 8 9 10 11 12 13 12 13 14 15 16 17 程式碼(Code):(請善用置底文網頁, 記得排版) http://ideone.com/AM1zI 補充說明(Supplement): -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 118.168.79.185

06/08 17:35, , 1F
i 是列號 那怎麼會是 i*rows 呢....
06/08 17:35, 1F

06/08 17:41, , 2F
cout << *(arr+i*rows+j) << " ";
06/08 17:41, 2F

06/08 17:56, , 3F
縮排縮八個字= =
06/08 17:56, 3F

06/08 17:59, , 4F
你要把他當一維取的話 取的時候第[1,0]個其實是第五個
06/08 17:59, 4F

06/08 18:00, , 5F
可是從這邊來看你會取到第幾個?
06/08 18:00, 5F

06/08 18:01, , 6F
縮八個字是因為dev的問題吧
06/08 18:01, 6F

06/08 18:02, , 7F
更正, 第七個
06/08 18:02, 7F

06/08 18:04, , 8F
但你會取到第五個, 所以問題在?
06/08 18:04, 8F

06/08 18:05, , 9F
對喔 我取錯 居然錯在這種地方
06/08 18:05, 9F

06/08 18:06, , 10F
想法錯了,還找了一個下午的bugXD 謝謝指教
06/08 18:06, 10F

06/08 18:34, , 11F
陣列其實不能這樣讀,不過 99.999% 在你機器上沒有問題...
06/08 18:34, 11F

06/08 18:48, , 12F
C 一大陷阱就是很多不跨平台的寫法在你機器上大概都沒問題
06/08 18:48, 12F
文章代碼(AID): #1FqSFtfX (C_and_CPP)
文章代碼(AID): #1FqSFtfX (C_and_CPP)