docs: fixed #78

This commit is contained in:
ruanyf
2022-05-05 13:13:27 +08:00
parent 1e70e6f2d6
commit d6de0121a7

View File

@@ -4,7 +4,7 @@
C 语言编译器在编译程序之前会先使用预处理器preprocessor处理代码。
预处理器首先会清理代码,进行删除注释、多行语句合成一个逻辑行等。然后,执行`#`开头的预处理指令。本章介绍 C 语言的预处理指令。
预处理器首先会清理代码,进行删除注释、多行语句合成一个逻辑行等工作。然后,执行`#`开头的预处理指令。本章介绍 C 语言的预处理指令。
预处理指令可以出现在程序的任何地方,但是习惯上,往往放在代码的开头部分。
@@ -35,7 +35,7 @@ printf("%s", HELLO);
上面示例中,宏`HELLO`会被原样替换成`"Hello, world"`
`#define`指令可以出现在源码文件的任何地方,从指令出现的地方到文件末尾都有效。习惯上,会将`#define`放在源码文件的头部。它的主要好处是,会使得程序的可读性更好,也更容易修改。
`#define`指令可以出现在源码文件的任何地方,从指令出现的地方到文件末尾都有效。习惯上,会将`#define`放在源码文件的头部。它的主要好处是,会使得程序的可读性更好,也更容易修改。
`#define`指令从`#`开始,一直到换行符为止。如果整条指令过长,可以在折行处使用反斜杠,延续到下一行。
@@ -228,7 +228,7 @@ X(5, 4, 3.14, "Hi!", 12)
```c
// 报错
#define WRONG(X, ..., Y) #X #__CA_ARGS__ #Y
#define WRONG(X, ..., Y) #X #__VA_ARGS__ #Y
```
上面示例中,`...`替代中间部分的参数,这是不允许的,会报错。