Re: Technically Yes...
From the horse's mouth:
"3.3.13 Logical AND operator
[...]
Unlike the bitwise binary & operator, the && operator guarantees left-to-right evaluation; there is a sequence point after the evaluation of the first operand. If the first operand compares equal to 0, the second operand is not evaluated.
"
The logical-OR operator || has the same short-circuit behaviour if the left-hand operand is non-zero.
A lot of C code relies on this behaviour. For example, this common idiom: if (ptr && *ptr ) // make sure ptr is not null and not empty string
... without short circuiting, it's a segmentation fault waiting to happen.