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