大家好,今天小编关注到一个比较有意思的话题,就是关于c语言老闪退的问题,于是小编就整理了2个相关介绍c语言老闪退的解答,让我们一起看看吧。
c语言运行闪退怎么解决?
解决方法
在代码段末尾加上getch();就可以了。(代码段末尾指你程序要执行完之前, 一般在return 0;之前)或者,加上getchar(); 也行。
原理就是停止,等待用户输入,即你没输入的话,程序就不算执行完毕。
个人认为getch();比较好。因为你加getch();是按任意键退出,而getchar();,你可以输入若干个字符然后按回车才会结束。
加个头文件windows.h,然后在代码段末尾加个 system(“pause”);
这里的 system 就是调用从程序中调用系统命令(和 shell 命令)。
system(“pause”)就是从程序里调用 “pause” 命令;
而 “pause” 这个系统命令的功能很简单,就是在命令行上输出一行类似于Press any key to exit的字,等待用户按一个键,然后返回。还是同样的道理,等待用户输入,才能算执行完毕。
在 exe 文件同目录下新建一个 txt 文档,里面输入如下内容
12
xx.exepause
然后退出保存,把后缀 txt 改为 bat 然后运行,那个 xx 就是文件的名字。
然后打开.bat 文件运行程序。(.bat 文件命名随意)
这里的.bat 文件是批处理文件(也被称为批处理程序或脚本)是无格式的文本文件,它包含一条或多条命令。它的文件扩展名为 .bat 或 .cmd。在命令提示下键入批处理文件的名称,操作系统就会按照该文件中各个命令出现的顺序来逐个运行它们。(使用批处理文件,可以简化日常或重复性任务。)
这里执行了 xx.exe 这个程序,并且调用了 pause。 类似解决方案 2.
c语言闪退?
一闪而过是程序自动结束,同时编译器没有提供结果驻留功能。对于此种情况,可以手动在代码结尾增加驻留功能的函数。常用的有如下两种:
1 通过getch函数驻留。getch会等待从屏幕的输入,在main函数退出前,增加getch();调用,系统会等待输入,直到有新的输入,才会退出界面。
2 通过system(34;pause");来实现驻留。在main退出前调用system("pause");会调用系统的pause函数,提示并实现按任意键退出程序效果。如果是已经编译好的C语言程序,可以通过开始->运行,键入cmd后回车。在打开的命令行窗口,将可执行文件拖动到窗口上,再回车即可运行该程序,在此窗口不会出现闪退,从而观察运行结果。由于该问题仅在windows平台出现,所以以上介绍均针对windows平台。
解决方法:
1:去生成的目录下面找到EXE文件
2:在程序中添加一些代码,防止程序被关闭
3:在主函数末尾的地方写一行system
4:重新编译之后再次打开目录下的EXE文件,这次程序运行完之后没有直接关闭掉而是停留在这里了,闪退问题就成功解决了。
一闪而过是程序自动结束,同时编译器没有提供结果驻留功能。对于此种情况,可以手动在代码结尾增加驻留功能的函数。常用的有如下两种:
1 通过getch函数驻留。getch会等待从屏幕的输入,在main函数退出前,增加getch();调用,系统会等待输入,直到有新的输入,才会退出界面。
2 通过system("pause");来实现驻留。在main退出前调用system("pause");会调用系统的pause函数,提示并实现按任意键退出程序效果。如果是已经编译好的C语言程序,可以通过开始->运行,键入cmd后回车。在打开的命令行窗口,将可执行文件拖动到窗口上,再回车即可运行该程序,在此窗口不会出现闪退,从而观察运行结果。由于该问题仅在windows平台出现,所以以上介绍均针对windows平台。
到此,以上就是小编对于c语言老闪退的问题就介绍到这了,希望介绍关于c语言老闪退的2点解答对大家有用。