改成:
scanf("%d%c%d", a, ch, b)
printf()输出少了变量 ,改成:
printf(“%d+%d=%d\n", a,b,a+b )
其他按此改
c语言编程编译后进入看结果的屏幕,但是敲键盘没反应,也看不到结果,更退出不了,为什么呢?
可能是你的程序进入了死循环,你应该在看看你的循环语句是不是跳不出来
C语言中键盘响应的问题。 代码如下,为什么我按键没有任何反应及应如何解决?
使用getch()获取功能键和方向键的时候,需要调用两次才能把按键读取出来,每一次调用返回0xE0,第二次调用返回实际的键值。
参考自MSDN:
The _getch and_getwch functions read a single character from the console without echoing the character. None of these functions can be used to read CTRL+C. When reading a function key or an arrow key, each function must be called twicethe first call returns 0 or 0xE0, and the second call returns the actual key code.
C语言实现的键盘检测:/*
检测当前是否有键盘输入,并更新键值JR_KeyValue
*/
int
JR_AnyKeys(void)
/*
返回键值ASCII码
或
对应自定义键值
*/
int
JR_GetKeyNum(void)
/*
检测指定键是否有按下
*/
int
JR_IsKeyDown(const
int
key)
BUG:在一次检测中多次调用函数JR_GetKeyNum()就会出错了。
FIX:把JR_KeyBoard.c文件中的JR_GetKeyNum()函数里面的第一句“JR_AnyKeys()”注释掉就可以了。