我对使用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中,但应该避免使用,因为它是非标准的。 –