簡體   English   中英

b =假vs(b)b =假

[英]b = false vs if (b) b = false

我正在處理test.c文件,並嘗試在其中計算單行注釋。

當發現兩個連續的/字符時,將slc trigger設置為true

當我到達行尾時,我需要將slc trigger設置為false

當然, \\n字符清楚地表示單行注釋的結尾。

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

但是找到\\n字符后, slc可以為truefalse

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

這兩個代碼塊之間有什么區別嗎?

我應該怎么寫?

使用第一種形式。 添加額外的if檢查不會影響代碼的功能,只會影響代碼的可讀性,這是不好的做法。 您應該始終以最簡潔的方式編寫代碼,以免混淆代碼的意圖。 由於在這種情況下,您的意圖始終是使變量為false ,因此只需設置slc = false

頂尖的技巧,為什么要打擾if

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM