啊哈磊_编程从这里起步
标题:
关于getch()用法问题
[打印本页]
作者:
飞翔の蓝天
时间:
2014-3-15 18:48
标题:
关于getch()用法问题
#include<stdio.h>
void main()
{
int a=10,b=20,ch;
printf("%d\n",a+b);
getch();
printf("%f",float(a)/b);
getch();
printf("The end.");
}
作者:
李掌柜
时间:
2014-3-15 18:48
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
#include<stdio.h>
int main(void)
{
double a=10,b=20; //有乘除法尽量用double类型
printf("%.0f\n",a+b);//不要小数点
getch(); //getch()是非缓冲输入函数
printf("%f\n",a/b);
getch();
printf("The end.\n");
return 0;
}
复制代码
作者:
cad20020601
时间:
2014-3-15 20:03
语法错误。正确的代码:
#include<stdio.h>
void main()
{
int a=10,b=20,ch;
printf("%d\n",a+b);
getch();
printf("%f",(float)a/b); //强制类型转换错了:P
getch();
printf("The end.");
}
复制代码
作者:
rosynirvana
时间:
2014-3-15 20:51
地道一点的写法是
#include<stdio.h>
int main()
{
int a=10,b=20;
printf("%d\n",a+b);
getchar();
printf("%f", 1.0*a/b);
getchar();
printf("The end.");
return 0;
}
复制代码
这里没必要用getch
也不要随意用getch这种东西
欢迎光临 啊哈磊_编程从这里起步 (https://bbs.codeaha.com/)
Powered by Discuz! X3.2