2015-04-18 76 views

回答

8

有什麼區別不大,除非有一天你錯誤地更換第二個表達式是:

if (b = true) 

,然後你花幾個小時的調試有什麼問題,你會覺得使用第一需求一。

+0

他們之間有沒有速度問題? –

+0

@BAHARAM好吧,沒有。但是,這裏有一個建議 - 編程時不要過多考慮效率,特別是在開始階段。首先得到結果。這些只是過時的優化,不應該存在。 –

+0

謝謝你的評論:)但我必須知道差異,因爲同事的功課。那它只涉及到調試問題嗎? –

2

if (b)評估值b,這意味着如果b爲真,則滿足條件。

if (b==true)計算表達式b==true的值,當且僅當b爲真時,此表達式的計算結果爲真。

因此這兩個表達式都有相同的結果。

+0

我知道他們有相同的結果,但他們編譯方式相同嗎?不可能'if(b == true)'被編譯成更多的機器代碼行嗎? – Tomato

1

如果b爲真,只需要執行if(b)

if(!b)將在b爲假時執行。

if(statement) ......該聲明應該對執行if語句爲真。

相關問題