在 Visual 2010、Visual 2012 和 CodeBlocks 上尝试过,但没有成功。在过去的 3 天里,我一直在互联网上寻找答案,但没有找到任何可以帮助我的东西。
我尝试了两种方法,第一种
vector<int> mvec;
int num;
while(cin >> num)
mvec.push_back(num);
cout << mvec[0];
应该输出任何输入的第一个数字。相反,它什么也不做。如果我在输入数字序列之后或后面输入一个字母,它会打印第一个数字。
这个也试过
vector<int> myvector;
int myint;
do {
cin >> myint;
myvector.push_back(myint);
} while (myint);
cout << myvector[0];
再次,什么都没有。我在谷歌搜索时发现了最后一个片段,它显然适用于它的创建者。
一些在线编译器告诉我,例如 1 3 4 的输出是 1。我发现一个说程序正在尝试打印一个空向量
至少有人可以尝试运行其中任何一个并告诉我它们是否有效?我将在下面包含一个完整的程序。
#include <iostream>
#include <vector>
int main()
{
using namespace std;
vector<int> mvec;
int num = 0;
while(cin >> num)
mvec.push_back(num);
cout << mvec[0];
}
感谢您的时间,如果这很明显,我们深表歉意。