这里是测试代码:
#include<stdio.h>
#include<conio.h>
int main()
{
int key;
while (1)
{
key = _getch();
if (key == 27) break;
if (key > 31 && key < 127) /*如果不是特殊键*/
{
printf("按了 %c 键 按 ESC退出!\n", key);
printf("%d\n",key);
continue;
}
key = _getch();
if (key == 72) {printf("按了 上 键 按 ESC退出!\n");printf("%d\n",key);}
if (key == 80) {printf("按了 下 键 按 ESC退出!\n");printf("%d\n",key);}
if (key == 75) {printf("按了 左 键 按 ESC退出!\n");printf("%d\n",key);}
if (key == 77) {printf("按了 右 键 按 ESC退出!\n");printf("%d\n",key);}
}
return 0;
}
H键和UP键key值都是72,咋输出不一样的
还有为啥要写两个key = _getch();
确定不是整人的问题?
按了"H键"之后, 打印"按了 H键 按 ESC退出!", 继续按了31-127之间的任意键, 不会有打印, 然后再按上键, 就打印了"按了 上 键 按 ESC退出!"