编写的C++程序 结尾加了 cin.get()还是会闪退,求问为什么,并且想知道什么时候加2个或3个cin.get()
#include<iostream>#include<cstdlib>usingnamespacestd;intmain(){charch;intcount=0;cin....
#include<iostream>
#include <cstdlib>
using namespace std;
int main()
{
char ch;
int count=0;
cin.get(ch);
while(ch!='#')
{
cout<<ch;
count++;
cin.get(ch);
}
cout<<"\n"<<count<<"characters read\n";
cin.clear();
//这里加 cin.get()还是会闪退为什么
return 0;
} 展开
#include <cstdlib>
using namespace std;
int main()
{
char ch;
int count=0;
cin.get(ch);
while(ch!='#')
{
cout<<ch;
count++;
cin.get(ch);
}
cout<<"\n"<<count<<"characters read\n";
cin.clear();
//这里加 cin.get()还是会闪退为什么
return 0;
} 展开
展开全部
把cin.clear();换成system("pause");就够了……
追问
这个我知道,主要想知道,在return前面加几个cin.get()与什么有关
追答
加一个cin.get();就够了。因为输入缓冲区有个机制,一行中不可能存在两个'\n',也不可能有两个只在开头有一个'\n'行。所以无论你输入多少行,最后只有一个'\n'留存在缓冲区里,前面输入的'\n'就被后面输入的冲刷掉了……
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
vs的话ctrl + F5
追问
用的是device C++,主要想知道加几个cin.get()与什么有关
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
请问你用的是什么编译环境?我用code blocks没有问题.这可能与具体的编译器有关。
更多追问追答
追问
用的是device C++,主要想知道加几个cin.get()与什么有关
追答
是dev c++吗?
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询