对于很多编程的人来说c语言很最常用的但是在平时的编写过程中会出现闪退的情况。
闪退最主要的原因是没有写system命令这个命令写在主函数的末尾就可以有效的避免闪退情况的出现,如果还是解决不了的话那就是windows11的系统问题了。
原因:在编译执行的时候,如果是直接按F5是调试,就会出现一闪而过的情况,安ctrl+F5的执行不调试,这样的话就不会出现一闪就没的情况了。
方法一:getchar(),即在主函数尾部或程序最后加上getchar();也就是接受键盘输入,这样程序就不会一闪而过,因为程序还没有执行完。
注:当代码中存在scanf()函数时,需要在getchar();前加上fflush(stdin);清除键盘缓存,以防影响getchar()的接收。
方法二:system("pause"),system("pause")加在主函数的尾部,配合windows.h头文件使用才行。即
#include <stdio.h>
#include <windows>
void main(){
……
system("pause"):
……
}
一闪而过是程序自动结束,同时编译器没有提供结果驻留功能。对于此种情况,可以手动在代码结尾增加驻留功能的函数。常用的有如下两种:1 通过getch函数驻留。
getch会等待从屏幕的输入,在main函数退出前,增加
getch()
调用,系统会等待输入,直到有新的输入,才会退出界面。
2 通过system("pause")来实现驻留。
在main退出前调用
system("pause")
会调用系统的pause函数,提示并实现按任意键退出程序效果。
如果是已经编译好的C语言程序,可以通过开始->运行,键入cmd后回车。
在打开的命令行窗口,将可执行文件拖动到窗口上,再回车即可运行该程序,在此窗口不会出现闪退,从而观察运行结果。
由于该问题仅在windows平台出现,所以以上介绍均针对windows平台。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)