【发布时间】:2013-01-30 18:31:00
【问题描述】:
在linux g++编译器中,不打印第三个数字,也不打印“reached”。 但我预计会打印“到达”,然后它会进入无限循环。 它使用代码块在 Windows 上按预期执行
#include <iostream>
int main()
{
int a;
for (int i = 0; i < 3; i++) {
std::cin >> a;
std::cout << a;
}
std::cout << "reached";
while (1) {}
return 0;
}
【问题讨论】:
-
第三个数字不打印是什么意思?
cin>>a没有打印任何数字 -
我不知道你为什么在里面放一个无限循环,但这不是一个好主意。
-
建议将标题更改为“这段代码有什么问题?”
-
我不太理解这里的反对意见,但除此之外请不要使用
using namespace std;! 一开始可能看起来更容易,但它完全破坏了这个概念命名空间,如果在其他程序员以后可能使用的头文件中使用会导致麻烦!不要这样做,即使很多例子都包含这一行。 -
首先,我认为你使用的IDE并不重要,重要的是你在编译过程中使用的工具链。 for 循环只有 3 个步骤,然后你放入了一个无限循环。在使用的 g++ 编译器中,您可以获得在 for 循环终止后打印的“reached”。
标签: c++ linux compiler-construction output