问题描述
- 关于C++输入cin的问题,下面的程序,如果输入一个字符,那就将陷入死循环,为什么?
-
#includemain()
{
int i;
while(i!=-1)
{
cout<<"i="
cin>>i;
cout<
}
}
上面的程序,如果输入的不合法,比如输入一个字符,那就将陷入死循环。解决的办法 有个一,把cin>>i;语句移到判断循环的语句,那么输入的如果是不合法的变量,他将跳出循环 。
解决方案
是不是将i转化为对应的ASCII码值了?
解决方案二:
比如输入一个char型的进去,然后判断“i!=-1”,这时会把char型强制转换成int型,就是你输入char的ASCII码,ASCII码是没有-1这种东西的,所以永远不等于,死循环。
时间: 2024-12-31 16:04:45