作者ohlar (歐拉)
看板b96902HW
標題[鋼彈] 單班計程2-1
時間Mon Oct 15 22:31:12 2007
請問一下
為什麼我用while( (scanf("%c%d%d",&x,&i,&h))!= EOF ){ 寫
要按三次^Z才可以把程式終止呢?
有別的辦法可以按一次就讓他停下來嗎?
搞了很久還是沒分數@@
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 140.112.223.91
1F:推 lovemeorhim:我是讀第一個字元看是不是EOF 再讀兩個數字... 10/15 22:41
2F:推 wfuny:因為你的scanf是一次scan三個變數後,它的函數才結束 10/15 22:54
3F:→ wfuny:也就是說,必須讀3個值才會判斷後面的eof 10/15 22:56
4F:推 ohlar:嗯嗯 我後來把他分開讀 可是還是需要輸入兩次^Z才可以 10/15 23:03
5F:→ ohlar:讓他停下來,要怎樣寫才可以一次就結束呢? 10/15 23:03
6F:推 Bingojkt:我還以為喔拉拉什麼時候跑到單班去了XD 10/15 23:13
7F:推 LPH66:那是scanf讀字串的部份的bug 若是讀字串會讀2次 10/15 23:20
8F:→ LPH66:所以需要兩個^Z %s和%c都會有這個現像 10/15 23:21
9F:推 s90413k64:我是雙班的 10/16 00:09
10F:→ s90413k64:我斗膽問一下如果寫scanf("%c%d%d",,&x,&i,&h)<1會怎樣ꄠ 10/16 00:10
11F:→ s90413k64: 附贈免費的逗號..... 10/16 00:11