[問題] 如何不用 fflush() 來清除緩衝區?

看板C_and_CPP作者 (重出江湖)時間11年前 (2013/05/12 09:25), 編輯推噓3(305)
留言8則, 5人參與, 最新討論串1/1
開發平台(Platform): (Ex: VC++, GCC, Linux, ...) dev c++ 5.4.1 額外使用到的函數庫(Library Used): (Ex: OpenGL, ...) 問題(Question): 應該是緩衝區清空的問題 高中生解題系統上拒絕fflush(stdio)的方式 一開始被賞了RF 我上網看還有另一種setbuf(stdin,NULL); 不過在電腦上測試都正確 可是上傳卻被賞了個WA 請問要怎麼解決呢? 餵入的資料(Input): 預期的正確結果(Expected Output): 錯誤結果(Wrong Output): 程式碼(Code):(請善用置底文網頁, 記得排版) http://ideone.com/OswBOn 補充說明(Supplement): -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 180.176.4.11

05/12 10:09, , 1F
你fflush的用意是?
05/12 10:09, 1F

05/12 10:38, , 2F
清空scanf("%d",&n);之後的緩衝區
05/12 10:38, 2F

05/12 10:57, , 3F
while(scanf("%d",&n)!=EOF)
05/12 10:57, 3F

05/12 11:05, , 4F
他的輸入是指定次數,後面才是資料,上面的方法應該不適用
05/12 11:05, 4F

05/12 11:29, , 5F
%*c
05/12 11:29, 5F

05/12 11:45, , 6F
全抓字串比較快
05/12 11:45, 6F

05/12 12:01, , 7F
樓上的意思是說的一次的數轉成字元再轉成整數?
05/12 12:01, 7F

05/12 12:07, , 8F
你需要的只是簡單的一個 getchar() 把 '\n' 吃掉就好
05/12 12:07, 8F
終於AC囉 這是我AC的程式 http://ideone.com/4hBCgi 感謝樓上諸位 ※ 編輯: aoksc 來自: 180.176.4.11 (05/12 12:20)
文章代碼(AID): #1HZk-CzP (C_and_CPP)