[問題] scanf EOF的問題

看板C_and_CPP (C/C++)作者 (哈洛)時間15年前 (2010/11/16 19:40), 編輯推噓0(009)
留言9則, 3人參與, 最新討論串1/1
( *[1m *[m 為色碼,可以按 Ctrl+V 預覽會顯示的顏色 ) ( 未必需要依照此格式,文章條理清楚即可 ) 遇到的問題: (題意請描述清楚) 使用while迴圈 在scanf的輸入給他 (Ctrl+Z) 仍然會執行內容 希望得到的正確結果: 輸入(ctrl+z)後結束迴圈 程式跑出來的錯誤結果: 輸入(ctrl+z)仍然執行迴圈內容 開發平台: (例: VC++ or gcc/g++ or Dev-C++, Windows or Linux) Dev-c++ , Windows 有問題的code: (請善用置底文標色功能) while(scanf("%s",inc)!=EOF) { 迴圈內容不重要 } 補充說明: -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 140.127.200.29

11/16 19:53, , 1F
你的inc是什麼? 詳細希望
11/16 19:53, 1F

11/16 19:54, , 2F
字串變數
11/16 19:54, 2F

11/16 19:54, , 3F
char inc[31];
11/16 19:54, 3F

11/16 19:57, , 4F
連按兩次 ctrl Z 或改用 while (gets(inc) != NULL) {...}
11/16 19:57, 4F

11/16 19:58, , 5F
11/16 19:58, 5F

11/16 19:58, , 6F
console 輸入都是如此, 這寫法適用重導向餵資料給程式
11/16 19:58, 6F

11/16 19:59, , 7F
阿看錯...
11/16 19:59, 7F

11/16 20:00, , 8F
我現在發現我的寫法連兩次ctrl+z會有想要的結果
11/16 20:00, 8F

11/16 20:01, , 9F
謝謝四樓
11/16 20:01, 9F
文章代碼(AID): #1CucsK_r (C_and_CPP)
文章代碼(AID): #1CucsK_r (C_and_CPP)