运行环境以Dev-C++、MacOS命令行和Xcode为主
1.语法错误
error: expected ';' before '}' token
error: expected identifier or '(' before 'xxx'
error: unknown type name 'integer'
![]()
![]()
![]()
- 错误类型:代码不符合 C 语言语法规则
- 解决方法
- 检查标点符号是否为英文格式,是否遗漏
- 确认变量声明、函数定义、循环 / 条件语句结构是否正确(如 if/for/while 的括号和花括号配对)
- 避免在关键字或函数名中使用非法字符
2.未定义标识符
error: 'printf' undeclared (first use in this function)
error: 'num' undeclared (first use in this function)
![]()
![]()
![]()
![]()
- 错误类型:使用未声明的变量、函数或类型
- 解决方法
- 确认变量是否已声明,如忘记写
int a;
- 检查拼写是否正确,如变量名
number 误写为 numbre
- 函数调用前需声明原型或者在函数调用前定义函数,或在头部添加声明,如
int func();
3.类型不匹配
error: incompatible type for argument 'x' of 'function'(函数参数类型不匹配)
error: assignment from incompatible pointer type(指针类型赋值错误)
![image]()
![image]()
- 错误类型:变量类型、函数参数或返回值类型不一致
- 解决方法
- 检查函数参数类型是否与定义一致(如函数期望 int,却传入 char)
- 赋值时注意类型转换(如 int a = (int)3.14;)
- 指针操作时确保指向正确类型(如 int* p = &a;,而非 char* p = &a;)
4.头文件包含错误
fatal error: 'xxx.h' file not found(头文件未找到)
![image]()
- 错误类型:头文件路径错误、内容损坏或重复包含
- 解决方法
- 确认头文件名称是否正确(如 #include <stdio.h> 而非 stdio.h)
- 自定义头文件使用双引号 #include "myheader.h",并确保路径正确
5.缺少函数原型
warning: implicit declaration of function 'function'(隐式声明函数,可能导致编译错误)
![image]()
- 错误类型:调用函数前未声明或定义函数
- 解决方法
- 在函数调用前添加函数声明(如 int func(int a);)
- 将函数定义放在调用语句之前