Angenommen, wir haben einen Ausdruck wieRelationale Operatoren Auswertungsergebnis
(x > 5)
in C-Sprache. Gibt es irgendeine Garantie, die von der Sprache/dem Standard gegeben wird, dass der Ausdruck zu 0
ausgewertet wird, wenn es falsch ist, und zu 1
, wenn es wahr ist?
Es optimiert werden kann: in 'if (x> 5) printf ("Hallo x =% d \ n", x);' die Der Compiler wird wahrscheinlich keinen Code ausgeben, der das Ergebnis von 'x> 5' mit 1 vergleicht. Er würde nur Code für den Test 'x> 5' und einen bedingten Sprung ausgeben. –