2

我有一个这样的程序:

#include <iostream>
#include <conio.h>
using namespace std;

int main ()
{
    for (int i = 0; i < 10; i++)
    {
        cout << int (_getch ()) << endl;
    }
    _getch ();
    return 0;
}

如果我按下数字、字母和 Enter 等键,则会显示一个整数(每次循环迭代)。但是,如果我按下 Insert、Delete 或箭头等键,则会同时显示两个整数。

为什么会出现这种行为?

4

1 回答 1

3

_getch()

读取功能键或方向键时,每个功能必须调用两次;

第一次调用返回 0(对于 F1-F10)或 0xE0 (224)(对于其他),第二次调用返回实际的键码。

于 2013-08-12T06:35:07.657 回答