我正在处理 test.c
文件并尝试计算其中的单行注释。
当我发现两个连续的 /
字符时,我将 slc
触发器设置为 true
。
当我到达行尾时,我需要将 slc
触发器设置为 false
。
当然\n
字符清楚地表明单行注释的结束。
switch (character)
{
case '\n':
slc = false; // single-line comment ended
break;
但是当找到 \n
字符时,slc
可能是 true
或 false
。
switch (character)
{
case '\n':
if (slc) slc = false; // single-line comment ended
break;
这两个代码块有什么区别吗?
应该怎么写?
最佳答案
使用第一种形式。添加额外的 if
检查不会影响代码的功能,只会影响其可读性,是一种不好的做法。您应该始终以最简洁的方式编写,不会混淆代码的意图。由于在这种情况下,您的意图始终是让变量为 false
,因此只需设置 slc = false
。
关于c - b = false 与 if (b) b = false,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13326666/