【发布时间】:2021-12-21 17:19:27
【问题描述】:
我正在尝试编写一个程序,向用户询问整数并将它们放入向量中,直到用户给出的整数为 0。然后它应该打印向量中的整数。
这是我的代码:
#include <iostream>
#include <vector>
using namespace std;
template <typename A>
void print_numbers(const vector<A> &V){
cout << "The numbers in the vector are: " << endl;
for(int i=0; i < V.size(); i++)
cout << V[i] << " ";
}
int main() {
vector<int> numbers;
int input;
cout << "Please type your numbers" << endl;
cin >> input;
while ((cin >> input) && input != 0)
numbers.push_back(input);
print_numbers(numbers);
return 0;
}
它打印除第一个整数之外的所有内容。有什么想法吗?
【问题讨论】:
-
删除流浪
cin >> input;。第一个数字甚至从未进入vector。它在程序到达while循环之前被消耗掉。 -
@user4581301 谢谢! :)