考虑这个 C++ 代码块。
if(_kbhit()){
//printf("Enter\n");
c = getchar();
int d = c;
printf("%d", d);
//printf("Exit \n");
}
我得到的输出是
sd115d100s100
如果我按 s, d 然后按 d, s。奇怪的是,当我按下某个字符时,会显示先前按下的字符的 ascii。
现在考虑,
if(_kbhit()){
printf("Enter\n");
c = getchar();
int d = c;
printf("%d", d);
printf("Exit \n");
}
我这次得到的输出是
aEnter
97
Exit
dEnter
100
Exit
dEnter
100
Exit
aEnter
97
Exit
现在一切都正确了,在我按下一个字符后,正在显示正确字符的 ascii 代码。
为什么会出现这种异常?我该如何纠正这个异常?