c ++使用_getch()进行即时用户输入,但它会不断返回不同的数字

时间:2015-10-20 23:55:31

标签: c++ getch

int choiceOne = 0;
choiceOne = _getch();
cout << choiceOne;
_getch();
system("CLS");

我想选择一个=用户输入的内容,但输出(48+用户输入) 因此,如果我输入0,它将输出48,如果我输入5,它将输出53.我不确定48来自何处。

如果需要更多代码,我可以发布。

2 个答案:

答案 0 :(得分:2)

您正在读取字符变量,但将它们存储在int类型的变量中。这会将输入从char转换为int。你看到的是你输入的字符的相应ASCII整数值。 alter choiceOne是char类型的变量,供您编码使用,并在线搜索ASCII表以获得每个标准字符的所有ASCII代码的完整参考

答案 1 :(得分:0)

_getch返回ASCII编码。如果按0,它将获得字符“0”的ASCII编码,十六进制为0x30,十进制为48。