在VC++6.0中,关于getchar()函数

我用getchar()函数来实现运行程序之后,不要自动退出,而是一直显示着结果。程序代码如下:#include<iostream.h>#include<math.h>#i... 我用getchar()函数来实现运行程序之后,不要自动退出,而是一直显示着结果。程序代码如下:
#include<iostream.h>
#include<math.h>
#include<stdio.h>
void main()
{
double a,b;
float x;
cout<<"输入x:";
cin>>x;
a=exp(x);
b=exp(-x);
cout<<"sinh("<<x<<")="<<(a-b)/2<<'\n'; //1
cout<<"cinh("<<x<<")="<<(a+b)/2<<'\n'; //2
cout<<"tanh("<<x<<")="<<(a-b)/(a+b)<<'\n'; //3
getchar();
}
如果我把第1、2、3行的'\n'改成endl,那运行程序就能按我上面说的执行。但为什么用'\n'会出现先按键盘,再出结果的情况?
展开
 我来答
爱点赞的松松
2014-10-19
知道答主
回答量:15
采纳率:0%
帮助的人:9.7万
展开全部
你说的情况确实是这样,经过试验,看过一些资料后认为endl的作用是将缓冲槽这个部分清槽,把缓冲槽里的内容输出到控制台。所以不调用endl,前面的数据都不会在控制台显示,而是留在缓冲区并继续调用getchar();直到程序结束,才显示,当你看到输出的时候,程序已经结束,geechar已经调用。程序结束则按任意退出;反之,使用endl或者在最后getchar之前使用endl,就会即刻输出字符,并停留在getchar
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式