详解c语言键盘输入联系小程序

1 如何检测键盘输入?

cpp 复制代码
#include<stdio.h>
#include<conio.h>

int main()
{
	int kb1 ,kb2;
    while(1){

        kb1 = getch();

        if(kb1==224){
            kb2 = getch();
            switch(kb2){
                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:
                    printf("其他情况!\n");
                    break;
            }
        }
        else{
            printf("其他情况!");
            printf("按下的键盘是: %d  =%c \n",kb1,kb1);
        }
        if(kb1 == 27){
            printf("esc 按下了 \n");
        }
    
    }
}

效果:

可以注意到的是右边的小键盘,按下了numsLock和不按下去结果是不一样的

2 为什么?

相关推荐
martian66517 分钟前
解密Java内存模型:从happens-before原则到实战可见性问题
java·开发语言
Blossom.1183 小时前
基于Python的机器学习入门指南
开发语言·人工智能·经验分享·python·其他·机器学习·个人开发
郝YH是人间理想4 小时前
Python面向对象
开发语言·python·面向对象
大土豆的bug记录5 小时前
鸿蒙进行视频上传,使用 request.uploadFile方法
开发语言·前端·华为·arkts·鸿蒙·arkui
hhw1991127 小时前
c#知识点补充3
开发语言·c#
Antonio9157 小时前
【Q&A】观察者模式在QT有哪些应用?
开发语言·qt·观察者模式
Pandaconda8 小时前
【后端开发面试题】每日 3 题(二十)
开发语言·分布式·后端·面试·消息队列·熔断·服务限流
mqwguardain8 小时前
python常见反爬思路详解
开发语言·python
lmy3477712329 小时前
东软鸿蒙C++开发面经
开发语言·c++
hakesashou9 小时前
python多线程和多进程的区别有哪些
java·开发语言·jvm