После опечатки скомпилировано и выполнено следующее выражение (упрощенное):
if((1 == 2) || 0 (-4 > 2))
printf("Hello");
конечно, 0 не должно быть.
Почему он компилируется и что означает выражение?
Оригинал (упрощенный) должен выглядеть следующим образом:
if((1 == 2) || (-4 > 2))
printf("Hello");
ничего из этого не компилируется:
if((1 == 2) || true (-4 > 2))
printf("Hello");
if((1 == 2) || 1 (-4 > 2))
printf("Hello");
if((1 == 2) || null (-4 > 2))
printf("Hello");