I read the articles above, but am sure there is another rule (maybe I didn't read it correctly?) about evaluations of logical operator expressions:
c = a && b;
if a evaluates to false, b is not evaluated at all, because the whole thing must now be false. This is important if b is a long and complex sub expression.
I think this is somewhere in C Programming by K&R.
This post could be seen as being rather obvious & pedantic, but it might be helpful to someone :+)