C陷阱与缺陷:如何判断编译器是否支持嵌套注释?
题目要求:编写一个程序,无论是对于允许嵌套注释,还是不允许嵌套注释的程序,都能正常运行,但是产生的结果不一样。
提示:在/**/之间,双引号“是注释的一部分;在双引号”“之间,/**/又是字符串。
以下参考答案摘录自《C陷阱与缺陷》:
对于/*/**/"*/"/*"/**/,支持嵌套返回 ”*/“(去除前后的两个注释),不支持返回 ”/*“(根据最近匹配原则);
对于/*/*/0*/**/1,支持嵌套返回 1(去掉前面的两个注释),不支持返回 0*1,即0(去掉前后的两个注释)。