我對使用getchar()
讀取用戶輸入的字符有疑問。需要關於getchar()和換行符的說明
char char1, char2;
char1 = getchar();
char2 = getchar();
我需要得到2
字符作爲來自用戶的輸入。在這種情況下,如果用戶輸入字符'A'
,然後輸入newline
,然後輸入字符'B'
,那麼將存儲在char2
中 - 將是換行符還是字符'B'
?
我在Windows上的CodeBlocks上試過它,char2
實際上存儲了換行符,但我打算將它存儲爲字符'B'
。
我只想知道預期的行爲是什麼,以及它是否依賴於編譯器?如果是這樣,turbo C和mW會有什麼不同?
根據C標準,輸入流上的fflush()是未定義的行爲。它適用於Windows,至少在Visual Studio中,但應該避免使用,因爲它是非標準的。 –