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

Linux终端下Hello.c编译错误原因咨询

问题分析与修复方案

让我帮你拆解这两个编译错误的原因,以及对应的解决办法:

第一个错误:expected identifier or ‘(’ before ‘[’ token

这个错误的根源是你把文件标记[File: hello/hello.c]写进了C代码的第一行,这不是合法的C语言语法。编译器会把这行内容当成程序代码的一部分来解析,而[符号在这个位置完全不符合C语言的语法规则,所以直接报错。

修复方法:

把代码里的[File: hello/hello.c]删掉,你的hello.c文件内容应该只有以下部分:

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

第二个错误:stdio.h: No such file or directory

这个错误分两种情况来看:

  • 第一种可能是第一个错误导致的连锁反应:因为编译器在解析第一行非法内容时已经混乱,可能会错误地找不到后续的头文件,修复第一个错误后重新编译,这个问题可能会自动消失。
  • 第二种可能是你的系统缺少C语言编译工具链:如果你是在Linux系统上,需要安装包含标准库和编译器的包,比如在Ubuntu/Debian系系统中执行以下命令:
    sudo apt update && sudo apt install build-essential
    
    在CentOS/RHEL系系统中执行:
    sudo yum install gcc glibc-devel
    
    安装完成后再重新编译你的代码。

编译代码的正确命令:

当你把代码修正、工具链安装好后,在终端里进入hello目录,执行以下命令编译运行:

gcc hello.c -o hello
./hello

这时候应该就能正常输出Hello World了。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.22 09:53:29