c++中: int i; while(cin>>i,i!='9') {cout<<i<<endl;
c++中:inti;while(cin>>i,i!='9'){cout<<i<<endl;}此时如果输入double的数据为什么会进入死循环?...
c++中:
int i;
while(cin>>i,i!='9')
{cout<<i<<endl;}
此时如果输入double的数据为什么会进入死循环? 展开
int i;
while(cin>>i,i!='9')
{cout<<i<<endl;}
此时如果输入double的数据为什么会进入死循环? 展开
3个回答
展开全部
while(cin>>a)
将会一直测试输入流是否正常,如果输入流正常,就会继续循环,如果输入流错误,或者达到文件末尾,循环就会终止。
将会一直测试输入流是否正常,如果输入流正常,就会继续循环,如果输入流错误,或者达到文件末尾,循环就会终止。
追问
输入double的话并没有终止,先转换成了int,去掉了小数,然后开始无限处理输cout。为什么不在第一次循环后再次处理cin来让我重新输入呢?它却是跳过条件里的cin直接处理循环体。?
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
循环条件一直成立就死循环啦
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询