此程序输入Q时为何会死循环?
#include<iostream>
using namespace std;
int main()
{
int x,y,z,m;
while(x!='q')
{
cout<<"enter x(enter q to exit):";
cin>>x;
if(x=='q')break;
cout<<"enter y: ";
cin>>y;
m=x/y;
z=x%y;
cout<<x<<"%"<<y<<"is: "<<z<<"\n";
cout<<x<<"/"<<y<<"is:"<<m<<"\n";
}
return 0;
}
大概已经知道是因为X的类型不对,但为何类型不对就会死循环呢?
如果我要先是int x;cin>>x;
再if(????)break;当x的值不是整型时中止程序,使其不会死循环,那这个????该怎么写呢?