c++中对int型变量输入char型异常
在使用c++编程时,如果要使用名字空间std,常用using namespace std;
正规一点的使用则是using std::cin和using std::cout.
当定义了一个int型的变量a,使用cin >> a,如果输入了一个字符,程序便会异常结束。跟c语言不太一样。
在这里采用的排出异常的方式是:
#include <iostream>
using std::cin;
using std::cout;
int Del()
{
int y = 0;
cin >> y;
while(cin.fail()){ //或者写成 (0 == y) 也可以不用异常,直接在cin >> y 之后加入cin.fail()判断
cin.clear();
cin.ignore();
cout << "重新输入" << endl;
cin >> y;
}
return y;
}
int main()
{
int x = 0;
try {
x = Del();
}
catch (const char* str)
{
}
cout << "x = " << x << endl;
system("pause");
return 0;
}