After a typo, the following expression (simplified) compiled and executed:
if((1 == 2) || 0 (-4 > 2))
printf("Hello");
of course, the 0 shouldn't be there.
Why does it compile, and what does the expression mean?
The original (simplified) should look like this:
if((1 == 2) || (-4 > 2))
printf("Hello");
none of this does compile:
if((1 == 2) || true (-4 > 2))
printf("Hello");
if((1 == 2) || 1 (-4 > 2))
printf("Hello");
if((1 == 2) || null (-4 > 2))
printf("Hello");