世达双开口扳手型号:为何C语言中调用getch()时按功能键第一次返回值为0?

来源:百度文库 编辑:高考问答 时间:2024/05/07 04:44:28
在循环中调用,要等到第二循环才能返回功能键所指向的ASCILL码值。请问有谁知道怎么回事,如何避免?
附代码:
createcomm:
crecomm=getch(); /*就这步,比如按了方向键[下]时,第一次返回为0,等第二次循环时才变成80*/
switch (crecomm)
{
case 1:....
case 2:....
}
goto createcomm;

功能键就是这样的,因为它是由两个字节组成的,第一次返回它的高八位,第二次才返回它的低八位,因此你必须使用两次 getch() 才能获得。