[問題] ubuntu下的gcc

看板Linux作者 (迷小心)時間15年前 (2010/08/28 09:55), 編輯推噓2(202)
留言4則, 4人參與, 最新討論串1/1
以前在ubuntu下寫程式時, 明明我的程式碼有誤, 但是在ubuntu底下gcc後還是能正常執行。 但demo時就被助教打槍了, (demo平台是FreeBSD工作站) 因為程式會直接結束。 後來換成了debian, gcc後執行也是有一樣的現象, 才發現自己的程式碼有誤。 最近心血來潮, 用了ubuntu 10.04, gcc後還是一樣能正常執行, 實在不懂為何會這樣。 附上我的c code跟讀檔資料 code http://csie2.cs.ccu.edu.tw/~u94315009/main.c 讀檔資料 http://csie2.cs.ccu.edu.tw/~u94315009/ADD 程式碼第92行: scanf("%c",&input); getchar(); 是改過後的程式碼, 之前的錯誤寫法是: scanf("%s",&input); 不管是正確還是錯誤的寫法, 在ubuntu上皆可正常執行, 但在其他unix-like平台就會讓程式終止。 步驟如下 $ gcc main.c $ ./a.out ADD 選單出現後 按l 錯誤版的程式碼會讓程式直接終止, 但在ubuntu上不會終止,一樣可以繼續執行。 不知道是我gcc的指令下錯,或是其他的問題所導致的結果? 謝謝! -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 218.163.155.228

08/28 10:08, , 1F
我猜是字串 null terminator 的問題
08/28 10:08, 1F

08/28 10:43, , 2F
字串內容傳錯... 跟gcc沒關係吧... 編譯會過世正常的
08/28 10:43, 2F

08/28 13:35, , 3F
你有習慣將警告打開嗎?y
08/28 13:35, 3F

08/29 12:38, , 4F
加上-Wall看看
08/29 12:38, 4F
文章代碼(AID): #1CU6nrcg (Linux)