【发布时间】:2016-11-07 17:27:29
【问题描述】:
当我运行以下代码时:
#include <stdio.h>
#include <stdlib.h>
void main()
{
int ESC;
ESC = getchar();
printf("\n%d", ESC);
}
它打印的值是“10”,但 ascii 表指出它应该有一个值“27”。我也使用 scanf 尝试过,但得到了相同的结果。怎么回事?
【问题讨论】:
-
ESC 未被
getchar()读取。您看到的是按 ESC 后按 RETURN 时的换行符。 -
ESC的类型应该是int,因为getchar()返回int。按“ESC”,然后按 Enter。这应该确保在“返回”之前读取“ESC”。 -
我们需要有关您正在使用的操作系统/终端类型的更多详细信息/任何希望告诉您为什么会发生这种情况。 esc 按键很可能永远不会进入您的程序。
-
你正在使用
void main(),所以我猜你在Turbo C下,conio.h中的getch就是你要找的。span> -
成功了,谢谢。
标签: c windows ascii scanf getchar