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