タイプミスの後、次の式 (簡略化) がコンパイルおよび実行されました。
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");