Yes, because there is a sequence point between evaluation of first and second operand of || operator.
N1570 5.1.2.3 Program execution, paragraph 3 says:
The presence of a sequence point
  between the evaluation of expressions A and B implies that every value computation and
  side effect associated with A is sequenced before every value computation and side effect
  associated with B.
N1570  6.5.14 Logical OR operator, paragraph 4 says:
Unlike the bitwise | operator, the || operator guarantees left-to-right evaluation; if the
  second operand is evaluated, there is a sequence point between the evaluations of the first
  and second operands. If the first operand compares unequal to 0, the second operand is
  not evaluated.