Der Operator ==
testet auf Gleichheit. Zum Beispiel:
Und in Ihrem Beispiel:
%Vor%x ist wahr (1) wenn y gleich z ist. Wenn y nicht gleich z ist, ist x falsch (0).
Ein häufiger Fehler, der von unerfahrenen C-Programmierern gemacht wurde (und ein Tippfehler, der von einigen sehr erfahrenen gemacht wurde) ist:
%Vor%In diesem Fall wird b einem a zugewiesen, dann als boolescher Ausdruck ausgewertet. Manchmal wird ein Programmierer dies absichtlich tun, aber es ist schlechte Form. Ein anderer Programmierer, der den Code liest, weiß nicht, ob er absichtlich (selten) oder versehentlich (viel wahrscheinlicher) gemacht wurde. Ein besseres Konstrukt wäre:
%Vor%Hier wird b zu a zugewiesen, dann wird das Ergebnis mit 0 verglichen. Die Absicht ist klar. (Interessanterweise habe ich mit C # -Programmierern gearbeitet, die nie reines C geschrieben haben und mir nicht sagen konnten, was das ist.)
Es ist "gleich" Operator.
Im obigen Beispiel wird x
das Ergebnis des Gleichheitsprüfungsausdrucks ( y == z
) zugewiesen. Wenn also y
gleich z
ist, wird x
auf 1
(wahr) gesetzt, sonst 0
(falsch). Da C (pre-C99) keinen booleschen Typ hat, wird der Ausdruck zu einer ganzen Zahl ausgewertet.
Gleichheit. Es gibt 1 zurück, wenn die Operanden gleich sind, sonst 0.
== bedeutet "ist euual zu". Dieser Operator hat einen höheren Vorlauf als = (gleich) Operator. Also die Gleichung x = y == z; wird versuchen, das Ergebnis von y == z der Variablen x zuzuordnen. was in diesem Fall 1 ist.
Es sagt
X ist entweder wahr / 1 oder falsch / 0.
Eine andere Möglichkeit, diese Zeile zu betrachten, ist dies:
%Vor%== Operator für Gleichheit verwendet .. hier in Ihrem Beispiel Wenn y gleich z ist, dann wird x einen wahren Wert haben, andernfalls wird x falsch sein