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

相关推荐
古城小栈几秒前
Rust 已经自举,却仍需GNU与MSVC工具链的缘由
开发语言·rust
jarreyer5 分钟前
数据项目分析标准化流程
开发语言·python·机器学习
你怎么知道我是队长8 分钟前
C语言---printf函数使用详细说明
c语言·开发语言
liulilittle10 分钟前
俄罗斯访问欧洲国际线路优化
开发语言·网络·信息与通信·ip·通信·俄罗斯·莫斯科
陈小桔12 分钟前
logging模块-python
开发语言·python
消失的旧时光-194313 分钟前
函数指针 + 结构体 = C 语言的“对象模型”?——从 C 到 C++ / Java 的本质统一
linux·c语言·开发语言·c++·c
!停14 分钟前
C语言栈和队列的实现
开发语言·数据结构
源代码•宸15 分钟前
Golang语法进阶(定时器)
开发语言·经验分享·后端·算法·golang·timer·ticker
期待のcode17 分钟前
TransactionManager
java·开发语言·spring boot
郝学胜-神的一滴17 分钟前
Linux系统编程:深入理解读写锁的原理与应用
linux·服务器·开发语言·c++·程序人生