⚠️ 头里少的就是这一行
(本条路线统一用 gcc -std=c11 -O0 编译)mul 定义在最下面,但上面就用到了。
⚠️ 给一段内容加上 guard
(本条路线统一用 gcc -std=c11 -O0 编译)两段一模一样的"头文件内容"被展开了两遍。用 #ifndef ONCE_H / #define ONCE_H / #endif 各包一次,让第二遍整段跳过。
用宏定义一个常量
(本条路线统一用 gcc -std=c11 -O0 编译)定义 SIZE 为 3,让循环加出 1+2+3。
⚠️ 把「三个文件」拼起来
(本条路线统一用 gcc -std=c11 -O0 编译)三段注释标出了它们各自对应哪个文件。把 max_of 补完。
⚠️ 报错该从哪一条开始看
gcc 一口气吐出十几行错误。该先看【0】。
「找不到实现」是哪一步的错
报错里出现 undefined reference to 'foo',说明问题在【0】。
先看一段好的
(本条路线统一用 gcc -std=c11 -O0 编译)作为对照,先跑一段完全正常的: #include <stdio.h> /* 三段坏代码,各自倒在不同的地方(这里只跑第三段) */ int main(void) {
⚠️ 补对之后应该输出什么
(本条路线统一用 gcc -std=c11 -O0 编译)这是把一处漏掉的分号补好之后的样子: #include <stdio.h> int main(void) { int a = 1; int b = 2;
修一个漏分号
(本条路线统一用 gcc -std=c11 -O0 编译)这段编译不过,改一个字符就好。
⚠️ 修一个少了的右大括号
(本条路线统一用 gcc -std=c11 -O0 编译)这段编译不过,缺一个字符。