[問題] Segmentation fault

看板C_and_CPP作者 (追風箏的孩子)時間9年前 (2016/12/06 17:17), 9年前編輯推噓0(004)
留言4則, 2人參與, 最新討論串3/3 (看更多)
開發平台(Platform): (Ex: Win10, Linux, ...) Linux 編譯器(Ex: GCC, clang, VC++...)+目標環境(跟開發平台不同的話需列出) GCC 問題(Question): 有時候執行會出現 Segmentation fault, 有時候會正常運行 餵入的資料(Input): 兩筆數值資料,比較誤差 程式碼(Code):(請善用置底文網頁, 記得排版) https://github.com/r02941066/Question/blob/master/compareInput.c 補充說明(Supplement): 一個問題用 C/C++ 和 CUDA-C 執行,各自產生一個txt,比較結果 這是用來比較 txt檔案的程式 所以設定相對誤差,若在誤差範圍內視為正確 我覺得讀檔案那裏可能有點問題,因為有時候會出現 Segmentation fault 有時候又能正常執行而沒有出錯 -- 肝不好 肝若好 人生是黑白的 考卷是空白的 、 ﹐ ● ●b ▎ ●> ● ▌ ﹍﹍ 囧> 幹... ▲ ■┘ ▎ ■ ▋ ︶■ 〈﹀ ∥ ▁▁∥ ▎ ﹀〉▊ 〈\ ψcockroach727 -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 71.95.52.50 ※ 文章網址: https://www.ptt.cc/bbs/C_and_CPP/M.1481015854.A.288.html

12/06 18:31, , 1F
通常是陣列索引超出範圍,先檢查所有的資料長度。
12/06 18:31, 1F
在 server 上跑的,不知道會不會用到我不能用的記憶體

12/06 18:31, , 2F
const char s[2] = ", ";  這是奇怪的。
12/06 18:31, 2F
看不懂

12/07 16:04, , 3F
你一開始char pointer沒有 initialize
12/07 16:04, 3F
第 18 行改成 char *ORIGINAL = "", *TARGET = ""; 第 52 行改成 char *token = ""; 第 83 行改成 char *token2 = ""; 這樣嗎 ?

12/07 16:07, , 4F
字串最後要加上結尾符號
12/07 16:07, 4F
你的意思是第 22, 23 行要寫成這樣嗎 ? ORIGINAL = "out1.txt\0"; TARGET = "out2.txt\0"; ※ 編輯: obelisk0114 (71.95.52.50), 12/09/2016 17:56:38
文章代碼(AID): #1OHe8kA8 (C_and_CPP)
文章代碼(AID): #1OHe8kA8 (C_and_CPP)