为啥我需要两个 _getch() 才能获得正确的值? [复制]

Posted

技术标签:

【中文标题】为啥我需要两个 _getch() 才能获得正确的值? [复制]【英文标题】:Why do i need two _getch() to get the correct value? [duplicate]为什么我需要两个 _getch() 才能获得正确的值? [复制] 【发布时间】:2018-01-11 19:05:41 【问题描述】:

我试图找到箭头键的字符代码所以写了这个-

char x=_getch();
cout<<(int)x;  

无论我按哪个箭头键,它都会打印 -32。然后我添加了一行,我的代码看起来像这样 -

char x=_getch();
x=_getch();
cout<<(int)x;  

使用上面的代码可以打印正确的值。谁能解释为什么会这样。 我正在使用带有 GNU GCC 编译器的 Code::Blocks。

【问题讨论】:

【参考方案1】:

我想这会回答你的问题

以下链接已回答了类似的问题。

getch and arrow codes

这是来自该链接的答案之一的屏幕截图

【讨论】:

以上是关于为啥我需要两个 _getch() 才能获得正确的值? [复制]的主要内容,如果未能解决你的问题,请参考以下文章

为啥C语言编程时输入数字转化为了ASC码

为啥跳转 的php文件获得不到传的参数

为啥我们需要再次拟合模型才能获得分数?

_getch 似乎暂停了我的程序

上传视频文件成功后$_FILES['name']的值为啥是blob?而不是原始文件名?怎么才能获取到原始文件名?

为啥两个函数不记录相同的结果?