读书人

getchar,getche,getch是怎么取值的

发布时间: 2012-02-29 16:44:11 作者: rapoo

getchar,getche,getch是如何取值的
#include "stdio.h "
void main()
{
char fuhao;
float fir,sen,total;
printf( "enter something: ");
scanf( "%f ",&fir);
fuhao=getchar();/*在这里,为什么会可以取到符号(+,-,*,/,%)getchar()函数是怎么知道我的float函数已经输入完毕了呢?另外就是使用getche和getch都无法正确计算,又是为什么*/
scanf( "%f ",&sen);
if (fuhao== '+ ')
{
total=fir+sen;
}
if (fuhao== '- ')
{
total=fir-sen;
}
if (fuhao== '* ')
{
total=fir*sen;
}
if (fuhao== '/ ')
{
total=fir/sen;
}
if (fuhao== '% ')
{
total=(int)fir%(int)sen;
}
printf( "结果:%5.2f\n ",total);
}

请前辈赐教

[解决办法]
getch()函数不将读入的字符回显在显示屏幕上,
getche() 函数却将读入的字符回显到显示屏幕上。
getchar()函数也是从键盘上读入一个字符, 并带回显。它与前面两个函数
的区别在于: getchar()函数等待输入直到按回车才结束, 回车前的所有输入字
符都会逐个显示在屏幕上。但只有第一个字符作为函数的返回值。

[解决办法]
http://www.cnblogs.com/winsir/archive/2005/04/15/16565.html

读书人网 >C++

热点推荐