先看一段代码:
using namespace std;
int main(){
int a;
a = getchar();
cout << a << endl;
a = getchar();
cout << a << endl;
return 0;
}
在键盘输入字符1,并回车后,得到输出:
49
10
解释:
字符1,和回车都被放到键盘缓冲区中,而a = getchar()
语句每次都返回缓冲区第一个字符的ascii码,所以实际只从键盘进行了一次输入(可以看到回车的ascii码10也被输出了)。
注,关于回车:
- Linux:\n
- Windows: \n\r
- MacOS: \r