小编Zer*_*oAG的帖子

为什么if(!(cin >> int))在第一次迭代中接受十进制数而不接受其他十进制数?

以下程序来自谷歌教程,它非常简单,除非我输入一个十进制数字.

#include <iostream>
using namespace std;

int main() {
  int input_var = 0;
  do {
    cout << "Enter a number (-1 = quit): ";

    if (!(cin >> input_var)) {
      cout << "You entered a non-numeric. Exiting..." << endl;
      break;
    }

    if (input_var != -1) {
      cout << "You entered " << input_var << endl;
    }

  } while (input_var != -1);

  cout << "All done." << endl;
  return 0;
}
Run Code Online (Sandbox Code Playgroud)

如果输入是int(不是-1),则输出:

Enter a number (-1 = quit): 5
You entered 5 …
Run Code Online (Sandbox Code Playgroud)

c++ int if-statement decimal cin

1
推荐指数
1
解决办法
711
查看次数

标签 统计

c++ ×1

cin ×1

decimal ×1

if-statement ×1

int ×1