Я раньше думал, что для операторов, которые между и возвращают своё значение, левый операнд вычисляется первым, а потом уже правый.
Походу, это (почти) так только для || и && (почти, потому что для них же правый операнд может вообще не вычисляться, если возвращаемое значение ясно по левому)
Оказывается, оно не определено