#include
int
main(void){
int
c
while(1){
c
=
getch()
if(c==0)
c=getch()
//
getch在遇到方向键时会返回0
再使用getch便会返回扫描码
if(
c
==
72
)
printf("UP\n")
//
我帮你把上下左右数据调出来
你用的时候define成
UP来使用这个值就可以了
if
(
c
==
80)
printf("DOWN\n")
if
(
c
==
75)
printf("LEFT\n")
if
(
c
==
77)
printf("RIGHT\n")
if(c
==
113)
//按q退出
break
}
return
0
}
用bioskey()函数可以实现读取键盘的上下左右键
函数原型:int bioskey (int cmd)
说 明:bioskey()的函数原型在bios.h中,即必须包含头文件#include<bios.h>
读取方向键可以用下面的程序啊!
#include<stdio.h>#include<bios.h>
#define Key_Up 0x4800 // 向上方向键
#define Key_Down 0x5000 // 向下方向键
#define Key_Right 0x4d00 // 向右方向键
#define Key_Left 0x4b00 // 向左方向键
void main()
{
int key=bioskey(0)
switch(key)
{
case Key_Up : {printf(" 向上方向键被按下") break}
case Key_Down : {printf(" 向下方向键被按下") break}
case Key_Left : {printf(" 向左方向键被按下") break}
case Key_Right : {printf(" 向右方向键被按下") break}
}
}
这个问题,因为不知道你具体的使用环境,没法作出进一步的判断,只能将 unsigned char型的变量赋给一个int型的变量会发生什么事情告诉你。unsigned char a = 'A'
int b = -1666666
b = a
由于unsigned char类型的变量只有一个字节,而int类型有4个字节,当将一个unsigned char类型的变量赋给一个int型的变量后,会使int型变量的高三个字节全部清零。在上述实例中就是b的高三个字节全部变为0。也就是说b永远为正整数了。细节就是这样了,至于会不会产生副作用,视你的使用环境而定了。