详解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 为什么?

相关推荐
hipolymers32 分钟前
C语言怎么样?难学吗?
c语言·数据结构·学习·算法·编程
2501_933329553 小时前
企业级舆情监测系统技术解析:Infoseek数字公关AI中台架构与实践
开发语言·人工智能·自然语言处理·架构
Wave8453 小时前
C++继承详解
开发语言·c++·算法
Tairitsu_H3 小时前
C++类基础概念:定义、实例化和this指针
开发语言·c++
.柒宇.3 小时前
Java八股之反射
java·开发语言
环流_3 小时前
多线程1(面试题--常见的线程创建方式)
java·开发语言·面试
努力努力再努力wz3 小时前
【Linux网络系列】深入理解 I/O 多路复用:从 select 痛点到 poll 高并发服务器落地,基于 Poll、智能指针与非阻塞 I/O与线程池手写一个高性能 HTTP 服务器!(附源码)
java·linux·运维·服务器·c语言·c++·python
Han_han9193 小时前
常用API:
java·开发语言
minji...3 小时前
Linux 线程同步与互斥(四) POSIX信号量,基于环形队列的生产者消费者模型
linux·运维·服务器·c语言·开发语言·c++
uElY ITER4 小时前
VS与SQL Sever(C语言操作数据库)
c语言·数据库·sql