1

我尝试在这里搜索类似的问题,但它们都太复杂了,我刚开始用 C++ 做我的 Hello World,这是代码,以防万一:

#include <iostream>

int main() {
std::cout << "Hello World!\n";
return 0;
}

它只有在我编译它然后在不调试且不重建它的情况下开始时才能正常工作(当它说它已经过时时)。如果我开始调试,它仍然说它已过时,但无论我是否重建它,控制台都会显示半秒钟然后程序退出。为什么是这样?

4

2 回答 2

1

这是因为您的程序执行然后通过您的

return 0;

所以它几乎立即发生并完成,您需要一种能够“暂停”您的应用程序执行以查看您的输出的方法。你可以做 std::cin >>。但我建议使用系统暂停,您需要添加的是

System("pause");

#include <stdlib.h>

所以你的 hello world applicaiton 应该看起来像

#include <iostream>
#include <stdlib.h>
int main()
{
   std::cout << "hello world\n";
   system("pause");
   return 0;
}

然而

 system("pause")

是 Windows 特有的功能,出于各种原因,应避免用于严重的应用程序。

于 2013-04-13T08:09:40.587 回答
0

有几种方法可以查看一个很快完成的小程序的输出:

  1. 放一个无限循环while(true),或者for(;;)

  2. 从 读取std::cin

  3. 在退出之前在 调试器中放置一个断点main()

  4. 从命令行重定向您的输出my_program.exe > my_output.txt: .

我更喜欢方法号。4 因为它不需要更改您的代码。

于 2013-04-13T08:24:31.953 回答