You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Dev-C++中C语言程序运行后立即关闭,return 0为何不生效?

关于Dev-C++中C程序运行后立即关闭的问题
  • return 0的作用是向操作系统返回程序正常执行的状态码,它本身没有暂停程序等待按键的功能。你之前看到的书籍描述可能存在场景偏差——比如在系统自带的命令提示符(CMD)中手动输入命令运行编译后的exe文件时,程序结束后窗口不会自动关闭,但Dev-C++的运行逻辑不一样。

  • Dev-C++点击「运行」时,会启动一个临时的控制台窗口来执行你的程序。当程序执行到return 0时,意味着程序生命周期结束,这个临时窗口就会被IDE自动关闭,所以你来不及看到输出内容。

  • 你用getch()能让窗口停留,是因为这个函数会阻塞程序执行,直到用户按下任意按键。不过getch()属于非标准库函数,可移植性较差。更通用的标准做法是在return 0;前添加getchar();:

    #include <stdio.h>
    
    int main() {
        printf("hello\n");
        getchar();
        return 0;
    }
    

    注意如果printf没有换行符,可能需要额外加一个getchar()来吸收之前的输入残留,不过一般加换行后就没问题。

  • 另外也可以直接修改Dev-C++的设置:点击顶部菜单栏「工具」→「编译选项」,在「编译时加入以下命令」中添加-static,之后运行程序,窗口会在结束后自动等待你按任意键关闭,不用修改代码。

内容的提问来源于stack exchange,提问作者Hansen Gregorius

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.20 22:29:51