[問題] 關於scanf....

看板C_and_CPP作者 (曹操)時間15年前 (2009/03/30 22:23), 編輯推噓3(301)
留言4則, 2人參與, 最新討論串1/2 (看更多)
各位板友~我現在撰寫程式遇到一個困擾 scanf( "%c", &token ); 假設我輸入的數據為 ( XX OO ) 然後enter ^ 這邊照理說不是只有一個空白嗎 但是我測出來他每次就會多一個換行( 我是一個字元一個字元判斷 ) 是因為最後我按了enter的關係嗎? 我有參考板上文章使用 scanf( "%c\n", &token ); // 這個雖然有成功 或者 scanf( "%c ", &token ); 或者 fflush( stdin ); // 會完全抓不到東西耶? 不過因為數據有時跟括號不會有空白, ex. (XX OO) 這樣用 scanf( "%c\n", &token ); 也是會錯 這樣我該怎麼做比較好呢..好苦惱XD 希望給予解答..感謝 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 61.57.78.11 ※ 編輯: tzuci6649 來自: 61.57.78.11 (03/30 22:24)

03/30 22:32, , 1F
用字串抓吧
03/30 22:32, 1F

03/31 19:54, , 2F
可以試看看用gets()
03/31 19:54, 2F

03/31 19:58, , 3F
抱歉,man建議不要用gets因為無法確定輸入的長度 所以...
03/31 19:58, 3F

03/31 19:59, , 4F
可用fgets (s, sizeof(s), stdin)取代
03/31 19:59, 4F
文章代碼(AID): #19qDNcxk (C_and_CPP)
文章代碼(AID): #19qDNcxk (C_and_CPP)