如何阻止终端在C++;在第一次性病之后? 我正在学习一个初学者的C++课程。在家里,当我遇到问题时,我试图复制一个BMI计算器,使用std::cin获取数据,使用std::cout提问。在输入第一个std::cin后,每当我按enter键时,终端就会关闭。课堂上很顺利,有人能告诉我发生了什么事吗

如何阻止终端在C++;在第一次性病之后? 我正在学习一个初学者的C++课程。在家里,当我遇到问题时,我试图复制一个BMI计算器,使用std::cin获取数据,使用std::cout提问。在输入第一个std::cin后,每当我按enter键时,终端就会关闭。课堂上很顺利,有人能告诉我发生了什么事吗,c++,terminal,window,windows-10,C++,Terminal,Window,Windows 10,运行代码时,它会逐行执行。因为您的代码到达最后一行,所以它停止并关闭了终端。我建议使用while循环或在结束时使用另一个std::cin>。如果将程序作为独立可执行文件运行,它将在完成后关闭终端。您可以在Windows/DOS上使用类似于system(“PAUSE”)的函数,或在需要跨平台代码时在末尾使用类似于std::cin.get()的请求输入的函数,在结尾处停止执行。这将等待一些输入,以便您可以看到程序的输出,然后您可以通过键入一些输入退出程序。请将相关代码作为一个输入。如果您有调试器,只

运行代码时,它会逐行执行。因为您的代码到达最后一行,所以它停止并关闭了终端。我建议使用
while
循环或在结束时使用另一个
std::cin>

如果将程序作为独立可执行文件运行,它将在完成后关闭终端。您可以在Windows/DOS上使用类似于
system(“PAUSE”)
的函数,或在需要跨平台代码时在末尾使用类似于
std::cin.get()
的请求输入的函数,在结尾处停止执行。这将等待一些输入,以便您可以看到程序的输出,然后您可以通过键入一些输入退出程序。

请将相关代码作为一个输入。如果您有调试器,只需在
返回0之前添加一个断点可能重复的
系统(“暂停”)
是一种特定于Windows/DOS的黑客攻击,而不是通用的跨平台解决方案。也;首先使用
系统
是可怕的;享受所有令人讨厌的安全问题的乐趣。是的,我说过OP可以使用它,如果在windows上,我会添加DOS。另外,问题被标记为
windows
,因此我认为这是合适的。CRT的
系统
功能没有使用CMD的
/d
选项来禁用执行“自动运行”命令,因此它可能会运行任意命令。最好自己用
\u write
\u getch
来实现,而且不要太复杂。或者在退出时生成CMD或PowerShell的实例。默认情况下,shell将连接到当前控制台以保持其打开状态。如果从终端调用程序,则不会出现此问题,但可以使用getchar();来解决你的问题