2

我正在处理test.c文件并尝试计算其中的单行注释。

当我发现两个连续的/字符时,我将slc触发器设置为true.

当我到达行尾时,我需要将slc触发器设置为false.

当然\n字符清楚地表明单行注释的结束。

switch (character)
{
    case '\n':
        slc = false; // single-line comment ended
        break;

但是当\n找到字符时,slc可能是trueor false

switch (character)
{
    case '\n':
        if (slc) slc = false; // single-line comment ended
        break;

这两个代码块有什么区别吗?

我该怎么写?

4

2 回答 2

6

使用第一种形式。if添加一个不影响代码功能的额外检查,仅影响其可读性,是不好的做法。您应该始终以最简洁的方式编写不会混淆代码意图的方式。由于在这种情况下,您的意图始终是变量,因此false只需设置slc = false

于 2012-11-10T22:28:51.443 回答
0

最重要的是成功了,为什么要打扰if

于 2012-11-10T22:30:34.180 回答