C 程序常见错误
Resources先确认问题发生在哪一步:编译前、编译时,还是程序运行后。复制报错原文,并查看它指出的文件和行号;报错所在行的上一行也可能是原因。
终端找不到编译器
现象: 输入编译命令后,终端提示找不到 gcc 或 cl。
检查: 确认已安装编译器,并按所选工具链的说明打开终端或配置环境变量。安装 VS Code 和 C/C++ 扩展并不会自动安装编译器。可返回VS Code 配置 。
编译器提示缺少分号
现象: 报错中出现 missing ';',或错误位置指向下一条语句。
检查: 看报错行及其上一行的语句末尾是否缺少英文分号 ;,并确认没有输入中文分号 ;。
scanf 的参数类型不匹配
现象: 编译器提示 %d 需要 int *,实际提供了 int。
int n;
scanf("%d", n); // 错误:这里需要 n 的地址
检查: 对普通 int 变量使用 &n,并核对格式说明符与变量类型是否一致:
scanf("%d", &n);
程序能运行,但整数除法结果不对
现象: 1 / 2 的结果是 0,即使随后赋给浮点变量也是如此。
原因: 两个操作数都是整数时,先进行整数除法。需要小数结果时,让至少一个操作数成为浮点数,例如 1.0 / 2。
更多例子可参考原有的编译与运行错误资料 。