Re: [討論] 使徒七

看板b97902HW作者 (Will)時間17年前 (2008/10/29 17:57), 編輯推噓4(4010)
留言14則, 3人參與, 最新討論串2/2 (看更多)
覺得使徒七的測試程式有問題... 我用strtok的方法寫的,其中有一個存id位置的array id[LMAX] 改變LMAX從1000, 1002, 1010, 1012, 1013 每次測的分數都不一樣 其中1011 可得10分....有些9分6分4分7分... 不知是否是批改程式allocate memory時的問題... b97058,紀錄與程式在裡面 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 140.112.30.84

10/29 22:07, , 1F
應該是 sizeof(nothing) == 4000 的關係
10/29 22:07, 1F

10/29 22:08, , 2F
小聲說 我們沒有什麼測試程式 只有你的程式 & 我們的測資
10/29 22:08, 2F

10/29 22:21, , 3F
嗯,就我所看到的,是 i < (int)sizeof(nothing) 的問題
10/29 22:21, 3F

10/29 22:21, , 4F
這樣子的話一開始宣告 char nothing[40][100] 就有問題
10/29 22:21, 4F

10/29 22:29, , 5F
謝謝。可是我用printf debug時出錯的地方是在變存數辨認
10/29 22:29, 5F

10/29 22:29, , 6F
在ubuntu下跑也沒segment fault...
10/29 22:29, 6F

10/29 22:31, , 7F
超奇怪的,有時a出問題卻在不相干的b產生影響...
10/29 22:31, 7F

10/29 23:18, , 8F
當你今天使用了超過宣告範圍的陣列索引值,可能的情況很多
10/29 23:18, 8F

10/29 23:19, , 9F
可能剛好沒事,過了。可能os給process的memory space剛好
10/29 23:19, 9F

10/29 23:19, , 10F
沒了->segmentation fault,可能compiler在後面放了別的變
10/29 23:19, 10F

10/29 23:20, , 11F
數->某些變數的值會有神秘的side effect... 所以牽扯到陣列
10/29 23:20, 11F

10/29 23:20, , 12F
索引值的bug,在不同的平台、compiler下有不同的結果,不是
10/29 23:20, 12F

10/29 23:20, , 13F
什麼奇怪的事。
10/29 23:20, 13F

10/29 23:30, , 14F
剛看到跑sizeof(nothing)會跑到存identifier的記憶體
10/29 23:30, 14F
文章代碼(AID): #1923DliZ (b97902HW)
討論串 (同標題文章)
文章代碼(AID): #1923DliZ (b97902HW)