我不知道为什么我的do-while循环是无限的。
int number_1, number_2 = 0;
do {
cin.sync();
cin.clear();
cout << "Give number_1: ";
cin >> number_1;
while (cin.good() == 1) {
number_2 += number_1;
cout << "Give new number_1: ";
cin >> number_1;
};
} while (number_2<1000);
直到我写正确的number_1一切都很好,但是如果我写错了值(例如&#34; a&#34;)我的循环变得无限,因为第6行被忽略了。线索在哪里?