搜索
查看: 971|回复: 3
打印 上一主题 下一主题

关于getch()用法问题

[复制链接]
楼主
发表于 2014-3-15 18:48:34 | 显示全部楼层
getch()
getch():
所在头文件:conio.h
函数用途:从控制台读取一个字符,但不显示在屏幕上
函数原型:int getch(void)
返回值:读取的字符
例如:
char ch;或int ch;
getch();或ch=getch();
用getch();会等待你按下任意键,再继续执行下面的语句;
用ch=getch();会等待你按下任意键之后,把该键字符所对应的ASCII码赋给ch,再执行下面的语句。
易错点:
1.所在头文件是conio.h。而不是stdio.h。
2.在使用之前要调用initscr(),结束时要调用endwin()。否则会出现不输入字符这个函数
也会返回的情况。
3.在不同平台,输入回车,getch()将返回不同数值,而getchar()统一返回10(即\n)
1)windows平台下ENTER键会产生两个转义字符 \r\n,因此getch返回13(\r)。
2)unix、 linux系统中ENTER键只产生 \n ,因此getch返回10(\n)。
3)MAC OS中ENTER键将产生 \r ,因此getch返回13(\r)。
getch();并非标准C中的函数,不存在C语言中。所以在使用的时候要注意程序的可移植性。国内C语言新手常常使用getch();来暂停程序且不知道此函数来源,建议使用getchar();(如果情况允许)代替此功能或更换一款编译器。
来源http://baike.baidu.com/link?url= ... mpGhsQSnLYMdFkFMAmd
  1. #include<stdio.h>
  2. int main(void)  
  3. {
  4.     double a=10,b=20;  //有乘除法尽量用double类型
  5.     printf("%.0f\n",a+b);//不要小数点
  6.     getch();    //getch()是非缓冲输入函数
  7.     printf("%f\n",a/b);
  8.     getch();
  9.     printf("The end.\n");
  10.    
  11.         return 0;
  12. }
  13.         
复制代码
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

广播台
特别关注
快速回复 返回顶部 返回列表