3 Aug
2020
3 Aug
'20
1:43 p.m.
Em seg., 3 de ago. de 2020 às 04:02, Sjoerd Mullender
Either way is correct.
Are we missing something? The first form evaluates both (b->ttype != TYPE_void) and b->tkey, both
of which result in either 0 or 1. The single & does a bit-wise AND on those two values and results in 1 if both sides evaluated to 1.
In the second form, if first part evaluates to 0, b->tkey is not
evaluated, and if the first part evaluates to 1, the second part is also evaluated. The restult, again, is only 1 if both sides evaluate to 1.
Wait, bitwse AND (&) is not shortcut, If first part evaluates to 0 *b->key is stiil evaluated.* It is never good to mix relational operators with bitwise operators. regards, Ranier Vilela