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

相关推荐
浅念-1 分钟前
C++入门(2)
开发语言·c++·经验分享·笔记·学习
WeiXiao_Hyy1 分钟前
成为 Top 1% 的工程师
java·开发语言·javascript·经验分享·后端
User_芊芊君子7 分钟前
CANN010:PyASC Python编程接口—简化AI算子开发的Python框架
开发语言·人工智能·python
Max_uuc18 分钟前
【C++ 硬核】打破嵌入式 STL 禁忌:利用 std::pmr 在“栈”上运行 std::vector
开发语言·jvm·c++
故事不长丨18 分钟前
C#线程同步:lock、Monitor、Mutex原理+用法+实战全解析
开发语言·算法·c#
牵牛老人21 分钟前
【Qt 开发后台服务避坑指南:从库存管理系统开发出现的问题来看后台开发常见问题与解决方案】
开发语言·qt·系统架构
froginwe1129 分钟前
Python3与MySQL的连接:使用mysql-connector
开发语言
灵感菇_1 小时前
Java HashMap全面解析
java·开发语言
杜子不疼.1 小时前
PyPTO:面向NPU的高效并行张量编程范式
开发语言
lly2024061 小时前
C# 结构体(Struct)
开发语言