这个问题可能听起来很愚蠢,但我真的想知道在输入所有输入后如何获得所有输出。例如,对于输入
3
14
7
6
输出假设
0
0
1
0
但编译器正在提供类似
的输出 3
0 14
0 7
1 6
0
哪个看起来不太好,所以我希望得到的输出就像我们在 IDEONE 中得到的那样(即最后都是)。这可能吗?如果是,请告诉我
答案 0 :(得分:3)
我假设您通过int读取输入int,并且在读取另一个int时立即输出,而为了实现所需的行为,您必须先读取它们然后再处理。
std::vector<int> ints;
while (std::cin)
{
int x;
if (std::cin >> x)
ints.push_back(x);
}
for (int x : ints)
{
// do what you want with x
}
请注意,问题绝对不是编译器,而是大多数终端的工作原理 - 标准输入流(stdin
)和标准输出流(stdout
)都与您在终端中键入/查看的文本。