-2
A
回答
3
如果a != b
,則將b
指定爲c
,如果c
爲真,則返回c
。
if (a != b) {
c = b;
}
該代碼使用&&
操作者對流動的短路:
+0
感謝您的幫助! (我也感謝其他人......) – Gadcam
2
如果a
不等於b
,然後分配給b
c
。
這裏的右側將不會評估,如果左側不是true
。
0
如果變量a
不等於變量b
,分配可變b
到可變c
0
作爲它而應被寫入控制(即表達式的第二部分只在第一部分爲真時才被評估),然後它使用這樣一個事實:賦值也是一個表達式,可以在表達式中進行賦值,並忽略表達式的值。
1
在您的示例中,如果a != b
然後將b
指定爲c
,結果將爲。沒有處理對c
是否真的評估(在本例中)。
由於操作員短路,此聲明的作用類似於簡短的if
聲明。
當使用邏輯AND &&
時,這意味着如果AND的左側是false
,那麼AND的右側將不會被評估。所以邏輯AND可以被濫用來形成一種簡短的語句if
。如果左手邊的計算結果爲true
,那麼右手邊將不會被評估(因爲它不會改變整體結果),所以對於邏輯OR也會發生相反的情況。你會發現這個運算符在C,JavaScript和Java等語言中短路古怪。
相關問題
- 1. 從{a-b,b-c,c-a}改變爲{(a,b),(b,c),(c,a)}?
- 2. jquery語法(.a .b .c)
- 3. 簡化布爾表達式(a *'b *'c)+('a *'b * c)+('a * b *'c)+(a *'b * c)
- 4. PHP變換陣列'a','b','c'到'a/b/c','a/b','a'
- 5. Javascript不是(a == b)||不(c == b)
- 6. 輸入(a + b)** 2,輸出a * a + a * b + b * a + b * b
- 7. Python a,b = b,a + b
- 8. 邏輯:是(A &&!(B || C))|| (B || C)與(A || B || C)相同?
- 9. 將['a','b','c']「轉換爲['a','b','c']:Javascript
- 10. JavaScript:將[a,b,c]轉換爲[a] [b] [c]
- 11. 簡化(a + b)XOR(c + b)
- 12. Javascript a = b = c陳述
- 13. php語法$ a = $ b = 1;
- 14. 爲什麼var c =「a」|| 「b」返回c =「a」和var c =「a」&&「b」返回c =「b」?
- 15. 混合兩個矢量:[a a]和[b b] to [a b a b]
- 16. 如何寫A :: B :: C => D給定A :: B :: C和(A,B,C)=> D?
- 17. 我想從['a','b','c']將python列表變成['a','a','b',b','c','c']
- 18. 的Ruby語法問題:合理的(A,B)和Rational.new(A,B)
- 19. 如果A和B是單子,如何將A [B [C]]轉換爲B [A [C]]?
- 20. 類型參數(F:((A,B))⇒B)(隱式CMP:訂貨[B]):(A,B)
- 21. 爲什麼a.compareTo(b)等於compareTo(a,b)或a.method(b)= method(a,b)?
- 22. A→B,B→A類協會
- 23. (A && B)與(A和B)
- 24. GROUP BY(A,B)和(B,A)
- 25. JavaScript var a = function b(){}
- 26. C#:無法A型轉換爲B型,其中A = B
- 27. 多個賦值var a = b = b || {}在JavaScript
- 28. C/C++:A(* eval(A(* function)(B),B b))(){...}可能嗎? (可能預C++ 11)
- 29. Regular grammar - a * b * c *
- 30. a,b = b,a + b和a = b,b = a + b在fibonacci中的區別是什麼[Python]
最基本的教程會告訴你這個...雖然,它可能是一個typoo? –
對不起,但我的代碼有點,我從來沒有看到邏輯
AND
做一個如果...如果你可以鏈接我一個教程,你找到它,我將不勝感激! – Gadcam查找'短路評估'。 –