首页 > 技术 > 技巧经验 > C语言程序运行后闪退的解决方法
2017
02-25

C语言程序运行后闪退的解决方法

(日常吐槽部分)仔细一看我有两个月没写博客了。其实,我是不想鸽的()寒假开始前,我都定好了一个非常宏z伟z的计划,每周写XX篇博客啥的,结果发现计划不如变化,三天至少出去玩两天()于是寒假计划就变成开学计划了!

前言

不BB了,虽然寒假计划没了,不过囤了不少想法√。所以今天就谈谈C语言程序运行后闪退的解决方法。
之前因为做qq bot的需要,装了vc来写C++和C,发现了一个问题,就是写好一个简单的C程序,运行结束后就直接退出了。当时还在想是不是程序的问题,换了一个IDE,运行相同的程序发现最后会有按

1
任意键退出

的提示。

问题起因

最后发现其实是vc的问题,在整个程序运行完成后vc会自动结束程序,而不是像一些ide会自动往程序最后一行插入一个暂停语句。

解决方法

  1. 在代码段末尾加上
    1
    getch();

    就可以了。(代码段末尾指你程序要执行完之前, 一般在

    1
    return 0;

    之前)或者,加上

    1
    getchar();

    也行。
    原理就是停止,等待用户输入,即你没输入的话,程序就不算执行完毕。
    个人认为

    1
    getch();

    比较好。因为你加

    1
    getch()

    ;是按任意键退出,而

    1
    getchar();

    ,你可以输入若干个字符然后按回车才会结束。

  2. 加个头文件
    1
    windows.h

    ,然后在代码段末尾加个

    1
    system(“pause”);

    这里的system就是调用从程序中调用系统命令(和shell命令)。

    1
    system(“pause”)

    就是从程序里调用“pause”命令;
    而“pause”这个系统命令的功能很简单,就是在命令行上输出一行类似于

    1
    Press any key to exit

    的字,等待用户按一个键,然后返回。还是同样的道理,等待用户输入,才能算执行完毕。

  3. 在exe文件同目录下新建一个txt文档,里面输入如下内容
    1
    2
    xx.exe
    pause

然后退出保存,把后缀txt改为bat然后运行,那个xx就是文件的名字。
然后打开.bat文件运行程序。(.bat文件命名随意)
这里的.bat文件是批处理文件(也被称为批处理程序或脚本)是无格式的文本文件,它包含一条或多条命令。它的文件扩展名为 .bat 或 .cmd。在命令提示下键入批处理文件的名称,操作系统就会按照该文件中各个命令出现的顺序来逐个运行它们。(使用批处理文件,可以简化日常或重复性任务。)
这里执行了xx.exe这个程序,并且调用了pause。 类似解决方案2.

参考资料

打开c语言生成exe文件,出现闪退的解决方法

最后编辑:
作者:xyzardq
这个家伙有点懒,什么都没有写

留下一个回复

你的email不会被公开。