References:
> 1. As long as K&R precedences still hold you don't need the inner
> parentheses; '<' and '<=' has higher precedence than '&' and '&&'.
> 2. In this case where you compare predicate expressions that
> evaluate to '0' and '1' on both sides of '&' and '&&' respectively
> these expressions are (while not the same) equivalent _here_.
The latter has shortcut semantics, and will only evaluate
r, and l a second time, if the first expression is true.
If r or l are memory mapped I/O, or similar, you might be
changing externally visible behaviour.
Phil
--
We are no longer hunters and nomads. No longer awed and frightened, as we have
gained some understanding of the world in which we live. As such, we can cast
aside childish remnants from the dawn of our civilization.
-- NotSanguine on SoylentNews, after Eugen Weber in /The Western Tradition/