在函数后面有两个getchar()是什么意思

如题所述

用于清除缓冲区。
原来输入的字符,由于某种原因留在缓冲区,没有输出出来。
用getchar()将字符提取出来,避免对下文的输入输出造成影响。
举一个简单的例子:
#include<iostream>
#include"stdio.h"

using namespace std;

int main()

{

char ch;

cin>>ch; //此处在屏幕上输入ab

cout<<ch<<endl<<endl;  //此处只输出a,b留在了缓冲区

//getchar(); //先不用此函数试试,再使用一次,看看效果
//cin.get();    //cin.get()与getchar()用途相似

int n;

cin>>n;

cout<<++n<<endl;

return 0;

}
第一个"cin>>ch"如果输入两个字符,那么只有一个被读取,另一个留在缓冲区里,如果不清除,则第二次输入"cin>>n"就读取了上一次遗留下来的一字符,这不是我们所希望发生的。所以用"getchar()"将第一次输入遗留在缓冲区中的字符清除掉。
值得注意的是getchar()j是C语言的字符函数。如果在C++程序使用,要求使用头文件"#include"stdio.h"。
另外,C++语言也有类似的函数,如"cin.get()",用途相似。
温馨提示:答案为网友推荐,仅供参考

相关了解……

你可能感兴趣的内容

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 非常风气网