getch用法c++

img


这样写,按方向键的时候,返回值是两个,这里把返回值赋给c,赋的是第一个还是第二个,运行正常,所以赋的是第二个返回值?为什么

仅供参考:

#include <conio.h>
#include <windows.h>
int main() {
    int k;

    while (1) {
        if (kbhit()) {
            k=getch();
            if (0==k || 0xE0==k) k=k<<8|getch();
            if (27==k) break;//按Esc键退出
            cprintf("\r\n%04X\r\n",k);
        }
        Sleep(200);
        cprintf(".");
    }
    return 0;
}