c++死循环

来源:百度知道 编辑:UC知道 时间:2024/09/12 22:26:05
int m=0;
while(m!=1)
{
cout<<"输入m:";
cin>>m;
}

输入m:-1
然后出现死循环,重复出现 "输入m:"
为什么不是等到键入m的值以后在判断是否循环?

把你的代码运行后如下:
#include<iostream>
using namespace std;
main()
{
int m=0;
while(m!=1)
{
cout<<"输入m:";
cin>>m;
}
}
输入-1时并没有出现死循环。输入数字以外的其它字符会出现

int m=0;
while(m!=1)
{
cout<<"输入m:";
cin>>m;
}
是不是因为你定义的是 int型...所以在第一次输入后 按下回车...回车符被一直接收不了而转入下次的输入呢?
C++不太清楚..C语言这样写是会出现这种死循环的...

你写成这样,输入1才可以结束循环
如果你想输入-1结束循环,那么要改成这样
#include <iostream>
using namespace std;
void main()
{
int m=0;
while(m!=-1)
{
cout<<"输入m:";
cin>>m;
}
}

int m=0;
while(m!=1)
{
cout<<"输入m:";
cin>>m;
getchar();
}
**************************************
楼上的正解,稍微改正下:在cin后加getchar()

在cin前加一个getchar(); 以接受回车键入。