我对使用getchar()从用户读取字符输入有疑问.
char char1, char2;
char1 = getchar();
char2 = getchar();
Run Code Online (Sandbox Code Playgroud)
我需要将2chars作为用户的输入.在这种情况下,如果用户输入'A'后跟a newline的字符'B',然后输入字符,将存储的内容char2- 是换行字符还是字符'B'?
我在Windows上的CodeBlocks上尝试过它,并且char2实际上存储了换行符,但我打算用它来存储该字符'B'.
我只是想知道预期的行为是什么,以及它是否依赖于编译器?如果是这样,turbo C和mingW之间有什么区别?
是的,您必须在每次输入后使用换行符:
char1 = getchar();
getchar(); // To consume `\n`
char2 = getchar();
getchar(); // To consume `\n`
Run Code Online (Sandbox Code Playgroud)
这不依赖于编译器.这适用于所有平台,因为在每个输入行的末尾都会有回车(尽管实际换行可能因平台而异).
| 归档时间: |
|
| 查看次数: |
9640 次 |
| 最近记录: |