-
OpenJudge-去除C程序中的注释
-
题目链接:
-
思路:
注释方式只有一种: /* ..... */ 且不能嵌套注释
所以分三种情况:
1.当前字符不在注释或字符串中,如果不是注释或字符串标记符,直接输出,否则改变状态(注释中/字符串中)
2.字符在注释中:检查字符是否能构成 ” */ “ ,如果是,注释状态解除,否则注释中的字符不输出
3.字符在字符串中:检查字符是否为 ‘ ” ’ ,并且!!前面不得是 //” ,正常输出
坑:
其实最坑是在字符串中,涉及转义字符 //,如果 ” 前有转义字符,那么该字符 ” 也是字符串的一部分
-
代码: