我正在处理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 =假vs(b)b =假,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/13326666/