首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C语言 >

getch()有关问题

2012-02-22 
getch()问题代码如下:#includestdio.h#include stdlib.h#include conio.h#include string.hvoidma

getch()问题
代码如下:
#include   <stdio.h>
#include <stdlib.h>
#include <conio.h>
#include <string.h>

void   main()
{
  char   mychar= '\0 '   ;
while(mychar!=0x004d)   //0x004d是方向键right.
{

mychar   =   getch();
if(mychar!=0x004d)
printf( "%c ",mychar);
}

}

编译连接没问题,只是运行时,按right方向键后,显示如下:
郏press   any   key   to   continue

为什么多显示郏字?


[解决办法]
你在纯DOS环境下,就不会有这个问题了。
[解决办法]
右方向键实际上是两个char组成的。象F1这些键也是。
至于显示,因为是特殊键。当然无法显示出来。所以在dos窗口下被当作两个字节的汉字输出了。

[解决办法]
方向键 是特殊键,
是有两个字节组成的编码,
所以会有这样的结果 ~!~

也就是按一个键,
将得到两个字节的输入,
while 输出printf( "%c ",mychar); 就得到了这样的结果 ~

热点排行