C语言预处理器执行宏替换、条件编译和文件包含。通常采用以“#”为行首的提示。下面是C语言预处理的应用场合:
1.三字母词(Trigraph Sequences)
C源程序的字符集被包含在7位的ASCII字符集中,但是它是ISO 646-1983 Invariant Code Set的超集。为了让程序可以在缩减集(reduced set)中呈现出来,虚拟主机,服务器空间,下面的三字母词会被替换成相应的单字符.
三字母词单字符
??=#
??/\
??’^
??([
??)]
??!|
??<{
??>}
??-~
替换发生在任何其他处理之前。
例如:如果你尝试打印字符串”what??!”
printf();,虚拟主机只有经历过地狱般的折磨,才有征服天堂的力量。