21.18 为什么 C 注释不能嵌套?怎样注释掉含有注释的代码?引用字符串 内的注释是否合法?

C 注释不能嵌套最可能的原因是 PL/I 的注释也不可以,  C 是借鉴了它而成的。所以, 通常使用 #ifdef 或  #if 0 来 ``注释" 掉大段代码, 其中可能含有注释 (参见问题  11.20)。

字符序列 /* 和 */ 在双引号内的字符串没有特殊含义, 所以不要在其中加入注释, 程序可能想输出它们 (特别是要产生 C 代码 作为输出的程序)。

注意 // 在 C99 中才成为合法的注释符。

参考资料: [K&R1, Sec. A2.1 p. 179]; [K&R2, Sec. A2.2 p. 192]; [ISO, Sec. 6.1.9, Annex F; Rationale Sec. 3.1.9]; [H&S, Sec. 2.2 pp. 18-9]; [PCS, Sec. 10 p. 130]。

翻译朱群英、孙云, LaTeX2HTML 编译 朱群英 (2005-06-23)