我使用void FillVector来填充带有用户插入的值的向量,并希望将用户插入的数量限制为10,如果要再插入,则仍然需要第一个10.但由于某种原因,除非插入第11个值,否则脚本将无法工作,只有这样才能处理前十个数字。当用户在输入前10个值后按Enter键时,为什么不执行while命令?
#include <iostream>
using namespace std;
void fillVector(vector<int>& newVectorQuantities)
{
cout << "Please type in your list of 10 numbers separated by a space."
int input;
cin >> input;
while (newVectorQuantities.size() < 10) {
newVectorQuantities.push_back(input);
cin >> input;
}
}
答案 0 :(得分:0)
它推送第10个,执行cin >> input;
等待完成,然后继续。换句话说,代码按照它所处的顺序执行。