【发布时间】:2019-07-23 08:55:54
【问题描述】:
当我尝试使用 printf 直接打印 getk 函数时。它工作正常。但是当我将它存储到变量时,输出总是相同的。我正在尝试将箭头键作为输入
我在代码块 windows 7 上使用 gcc。
int getk()
{
int ch;
ch = getch();
if (ch == 0)
{
ch = getch();
return ch;
}
return ch;
}
void main()
{
int a, b;
a = getk();
printf("%d %d", a, getk());
}
我希望 printf 在这两种情况下都有相同的输出,因为 getk 返回类型和变量 a 数据类型相同,那么为什么输出不同
【问题讨论】:
-
输入是上箭头键期望两边输出相同但 a= 224 和 getk()=72
-
你可能会喜欢getch and arrow codes
-
This answer(来自@pmg 提供的链接)准确地解释了发生了什么,以及为什么你会得到你得到的数字。