C语言获取方向键,求看看,为什么不能获取方向键?

#include<stdio.h>#defineU0x4800#defineD0x5000#defineL0x4b00#defineR0x4d00intmain(){ch... #include<stdio.h>
#define U 0x4800
#define D 0x5000
#define L 0x4b00
#define R 0x4d00
int main()
{
char control;
control=getchar();
switch(control)
{
case U:printf("UP\n");
case D:printf("DOWM\n");
case L:printf("LIFT\n");
case R:printf("RIGHT\n");
default:printf("error\n");break;
}
}
总是输出error
展开
 我来答
GTA小鸡
高粉答主

2018-04-23 · 醉心答题,欢迎关注
知道大有可为答主
回答量:2.6万
采纳率:78%
帮助的人:1.3亿
展开全部
方向键并不会进入到输入缓冲区中。为了捕获这些特殊按键你需要使用系统API函数。如果你在Windows下可以使用GetAsyncKeyState函数直接捕获某个按键的硬件中断状态。
更多追问追答
追问
能再具体点吗?我不懂,谢谢。
追答

你不懂Win32编程可直接用getch()实现。

#include<stdio.h>
#include<conio.h>
int main()
{
    int ch;
    while((ch=getch())!=0x1B) /* Press ESC to quit... */
    {
        switch(ch)
        {
        case 0xE0:
            switch(ch=getch())
            {
            case 72: printf("UP\n"); break;
            case 80: printf("DOWN\n"); break; 
            case 75: printf("LEFT\n"); break;
            case 77: printf("RIGHT\n"); break;
            default: break;
            }
            break;
        default: break;
        }
    }
}
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式