B.11 预处理程序
预处理程序用于在编译器真正地看到代码之前分析源文件。以下就是预处理程序执行的各种功能:
(1)用等价形式代替连字序列(参见“复合语句”一节)。
(2)将所有以斜线字符(\)结尾的行连接到同一行。
(3)将程序划分到某个标记流内。
(4)删除注释,并将注释替换成单个空格。
(5)处理预处理程序指令(参见“预处理程序指令”一节)并扩展宏指令。
B.11.1 三连字序列
要处理非ASCII字符集,需要识别以下三字符序列(称为三连字字符,即trigraph),并且当这些字符出现在程序(以及字符串)的任何位置时都能对它们进行特别处理: