C语言使用getch()读取方向键

通过getch()来使用方向键(→←↑↓)

对于和我一样的菜鸟而言,刚开始写程序经常要用到方向键,来实现控制(比如贪吃蛇、俄罗斯方块等等)。由于使用”→←↑↓”和使用“WASD比较”,输入显得更直观一些直观一些,所以大家更倾向用方向键输入。

有一点需要注意

1、使用getch读取字符时,读取一次就行
2、而读取方向键和功能键是,需要读取两次
(第一次的返回值为0或者224(方向键))
getch函数在读取一个功能键或者箭头(方向)键盘时,函数会返回两次,第一次调用返回0或者0xE0,第二次调用返回实际的键值。

例1、使用getchar()输入一个按键
字符的返回值为ASII码,观察方向键的返回值

#include<stdio.h>
#include <conio.h>

int main()
  {    //实现读入一个字符,输出getch的返回值码
       int ch;
          while (1)
          {   
              while (ch=getch()) //把得到的值赋值给ch
              {         
               printf("%d\n",ch); //依次输入 a b c d ↑↓ ← →
              }
          }
       return 0;
    }

这里写图片描述

例2、使用getch()读取方向键

#include<stdio.h>
#include <conio.h>

int main()
  {   
       int ch1=0;
       int ch2=0;
       while (1)
        {
          if (ch1=getch())
          { 
             ch2=getch();//第一次调用getch(),返回值224
             switch (ch2)//第二次调用getch()
             {
             case 72: printf("The key you Pressed is : ↑ \n");break;  
             case 80: printf("The key you Pressed is : ↓ \n");break; 
             case 75: printf("The key you Pressed is : ← \n");break;
             case 77: printf("The key you Pressed is : → \n");break;                                   
             default: printf("No direction keys detected \n");break;
                 break;
             }
          }  
        }
       return 0;
    }

这里写图片描述

  • 76
    点赞
  • 292
    收藏
    觉得还不错? 一键收藏
  • 15
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 15
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值