⚠️ 头里少的就是这一行

(本条路线统一用 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 编译)这段编译不过,缺一个字符。

开始练习 →