看板 C_and_CPP 關於我們 聯絡資訊
各位板友~我現在撰寫程式遇到一個困擾 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)
christianSK:用字串抓吧 03/30 22:32
u8906250:可以試看看用gets() 03/31 19:54
u8906250:抱歉,man建議不要用gets因為無法確定輸入的長度 所以... 03/31 19:58
u8906250:可用fgets (s, sizeof(s), stdin)取代 03/31 19:59