【发布时间】:2014-02-08 12:29:10
【问题描述】:
char sign;
cout << "Enter '+' for addition or '-' for subtraction: ";
cin >> sign;
if ( sign != '+' && sign != '-' ) {
cout << "you can only enter '+' or '-'!\n";
return 1;
}
如果我输入+32423,输入的cin仍然是正确的(它会通过检查),因为+会被自动设置为符号变量,并且32423也会被存储到我的下一个变量(如果有):
cin >> number;
如何更改代码以使+32423 与cin 不正确?
【问题讨论】:
-
使用
string来获取输入。并检查string == +/-。 -
我没有看到任何副作用。