说来奇怪,我好像从来没有遇到过窗口闪退的问题,无论是C、C++、还是Java(我目前也就这仨语言写的算多的。。。)。现在的编辑器、IDE应该很少出现这种问题了吧,当然系统不一样,运行还是有区别的。
一、C/C++
①常见的就是在return 0;
之前(因为return 0是程序结束的标记,该语句后的所有代码将不会再执行)添加getchar();//可以添加多个
或者添加system("pause");
一般前者用于C语言居多,后者用于C++较多。不过多数人是推荐使用前者的,看了一个关于窗口闪退问题的回答了,里面也有相关的解决办法,诸如Ctrl+F5(单纯的F5是调试),如果您有什么新的想法或者建议或者解释,您评论即可。为什么运行程序后一个黑窗口一闪而过?
②适用于vscode,选中项目工程->右键选择属性->配置属性->链接器->系统->子系统->选择 控制台 (/SUBSYSTEM:CONSOLE)->运行(或者按Ctrl+F5)
二、Java
程序结束后一闪而退的原因,大部分是因为程序运行结束了,所有的输入输出等语句都执行了。(所有真正的程序可以没有输入,但都至少有一个输出)。如果想要持续地观察运行结果,解决办法之一就是让程序处于执行的状态,针对Eclipse或者idea来说,就是它的红色框框一直亮着,而不是绿色点击运行或者灰色状态。在所有有用的输入输出后添加一个输入,让控制台处于等待用户输入的状态,则可以观察运行结果,之后可以选择随便输入一个符合类型的数据或字符串,或者直接关闭程序,使线程死亡。java.util.Scanner
Scanner sc = new Scanner(System.in);//Scanner输入流,从键盘接收数据
int a = sc.nextInt();