为什么在我不使用getch()时输出只是闪烁? 在DeV C++中编译和运行以下代码时, #include <stdio.h> main() { printf("Hello world!"); }

为什么在我不使用getch()时输出只是闪烁? 在DeV C++中编译和运行以下代码时, #include <stdio.h> main() { printf("Hello world!"); },c,windows,dev-c++,getch,C,Windows,Dev C++,Getch,为什么会发生这种情况?您的控制台正在消失,因为它已经完成,程序正在退出。正如您看到的,使用getch()等待输入会阻止程序退出,但它不是可移植的,作为替代,您可以使用std::cin.get(),这与您需要按enter键略有不同。您的控制台正在消失,因为它已完成,并且程序正在退出。正如您所看到的,使用getch()等待输入会阻止程序退出,但它不是可移植的,作为替代,您可以使用std::cin.get(),这略有不同,因为您需要按enter键。getch()会导致程序在终止前等待用户输入。Win3

为什么会发生这种情况?

您的控制台正在消失,因为它已经完成,程序正在退出。正如您看到的,使用
getch()
等待输入会阻止程序退出,但它不是可移植的,作为替代,您可以使用
std::cin.get()
,这与您需要按enter键略有不同。

您的控制台正在消失,因为它已完成,并且程序正在退出。正如您所看到的,使用
getch()
等待输入会阻止程序退出,但它不是可移植的,作为替代,您可以使用
std::cin.get()
,这略有不同,因为您需要按enter键。

getch()
会导致程序在终止前等待用户输入。Win32控制台应用程序中令人恼火的一点是,程序一终止,控制台就会关闭(因此它只是闪烁)

Win9x下的旧DOS程序并非如此(在Win9x下,除非在DOS快捷方式属性中选中复选框,否则控制台将默认保持打开状态)

如果在命令提示符下运行两个版本的程序,您将看到第二个版本仅在按下一个键后返回提示符。

getch()
导致程序在终止前等待用户输入。Win32控制台应用程序中令人恼火的一点是,程序一终止,控制台就会关闭(因此它只是闪烁)

Win9x下的旧DOS程序并非如此(在Win9x下,除非在DOS快捷方式属性中选中复选框,否则控制台将默认保持打开状态)


如果在命令提示符下运行两个版本的程序,您将看到第二个版本仅在您按键后返回提示符。

您知道
getch
的功能吗?它从用户处获取输入。是吗?那么你知道答案了,不是吗?你知道
getch
做什么吗?它从用户那里获取输入。不是吗?所以你知道答案,不是吗?
#include <stdio.h>
main()
{
     printf("Hello world!");
     getch();
}