【发布时间】:2017-04-11 07:43:44
【问题描述】:
我正在尝试仅验证整数的用户输入。我的代码工作正常,除非用户输入 0。它不认为它是整数,它认为该值为 false。这是我如何编写这个项目的一个简短示例......
int main ()
{
int num;
cout << "Please enter an integer: ";
cin >> num;
cout << endl;
while (! num)
{
cout << "That is not an integer.\n";
return;
}
}
如果用户输入 0,即使 0 是整数,我也会进入 while 循环。
【问题讨论】:
-
while (!num)表示如果num是0则进入循环 -
你的检查逻辑坏了。
num始终是整数。 -
你应该检查
cin >> num的返回值。 -
你只得到整数,你只使用
num进行条件检查,它的行为符合预期。如果你解释你的用例,那么它可能会更有帮助。 -
num始终是一个整数。如果有人输入一个字符串,cin >> num;会抛出。
标签: c++