-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查找'短路评估'。 –