[Es scheint merkwürdig, dass das nicht existiert, also entschuldige dich im Voraus, wenn es ein Duplikat ist]
Ich möchte auf logische Gleichheit in C testen. Mit anderen Worten, ich möchte wissen, ob zwei Werte gleich wären, wenn beide auf die mit logischen Ausdrücken verbundene Weise konvertiert würden.
In C99 denke ich das
%Vor%gibt was ich will. Ist das korrekt? Wie schreibt man das im traditionellen C?
Normalerweise sehen Sie Folgendes:
%Vor%Oder
%Vor% Seit !!a
ergibt 1, wenn a nicht Null ist und sonst 0.
Hoffe, das hilft!
In C ist Null falsch. Wenn Sie einen Wert in sein boolesches Äquivalent umwandeln möchten, besteht der Standardweg (nun, abgesehen davon, dass es fast nie nötig ist) darin, einen Ausdruck mit !!
zu versehen, wie in !!a
. Im Falle deines Ausdrucks,
%Code%
kann zu vereinfacht werden
!!a == !!b