在一个错字之后,编译并执行了以下表达式(简化):
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");