【发布时间】:2016-10-01 00:37:51
【问题描述】:
我可以使用 & 和 |而不是 && 和 ||在 C 语言家族中?这当然不适用于对象。有什么区别吗?如果没有,那为什么条件运算符存在?
例如:
if (3 && 5) // true
if (3 & 5) // also true
【问题讨论】:
-
位运算符不会短路。
-
位运算符和逻辑运算符是不同的。 “代替”是什么意思?展示一些例子
-
短路是一个很大的区别。
-
1 && 2为真,1 & 2为 0(假) -
&和&&运算符之间存在巨大差异。例如:0x01 & 0x10是0,0x01 && 0x10是1。
标签: c syntax bitwise-operators conditional-operator