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

修改C语言代码后终端仍反复输出旧版HelloWorld结果怎么办

运行异常截图

问题描述
  • 最初编写的C程序运行后输出hello world,修改后的代码如下:
#include <stdio.h>

int main() {

    printf("age is age");
   
    return 0;

}
  • 终端运行程序时,始终输出旧版本的hello world,不显示修改后代码的预期输出。
排查与解决

按出现概率排序排查即可:

  • 未重新编译,运行的是旧可执行文件
    这是该问题最高发的原因:
    • 命令行手动编译场景:修改源码后必须重新执行编译指令,若源码文件为test.c,执行gcc test.c -o test完成编译后,再运行./test(Windows系统运行test.exe),不要直接执行之前生成的可执行文件。
    • IDE编译场景(VSCode、CLion、Dev-C++等):先执行「清理构建产物」操作,再选择「重新构建(Rebuild)」做全量编译,增量编译偶发无法识别文件改动,不会更新可执行文件。
  • 编辑的文件和编译的文件不是同一个
    核对编辑器中打开的C文件路径,和终端执行编译命令时所在的目录是否一致,避免存在多个同名源码文件,修改了A目录的代码,却一直在编译B目录下的旧文件。
  • 旧可执行文件未被覆盖
    手动删除之前生成的可执行文件:Linux/macOS执行rm 可执行文件名,Windows直接删除对应exe文件,再重新编译运行即可。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.28 07:01:01