Verwendung des ternären Operators in der C-Sprache: Berechnen Sie zunächst die Bedingung b. Wenn der Wert von b wahr ist, berechnen Sie den Wert of ist der Wert von x, andernfalls wird der Wert von y berechnet und das Ergebnis der Operation ist der Wert von y.
Verwendung des ternären Operators in der C-Sprache:
Berechnen Sie für den bedingten Ausdruck b ? x : y
zuerst die Bedingung b und treffen Sie dann eine Beurteilung. Wenn der Wert von b wahr ist, wird der Wert von x berechnet und das Ergebnis der Operation ist der Wert von x; andernfalls wird der Wert von y berechnet und das Ergebnis der Operation ist der Wert von y.
Ein bedingter Ausdruck wertet niemals sowohl x als auch y aus. Bedingungsoperatoren sind rechtsassoziativ, das heißt, sie werden in Gruppen von rechts nach links ausgewertet. Beispielsweise wird a ? b : c ? d : e
als a ? b : (c ? d : e)
ausgeführt.
kann als Bedingung verstanden werden? Ergebnis 1: Ergebnis 2? Nr. ist eine Formatanforderung. Es kann auch so verstanden werden, ob die Bedingung erfüllt ist, die Bedingung wird als Ergebnis 1 festgelegt, andernfalls ist sie Ergebnis 2.
Erweiterte Informationen:
Der ternäre Operator, auch Bedingungsoperator genannt, bezieht sich auf die wichtigen Funktionen von Computersprachen (C, C++, Java, usw.) Komponenten. Da er der einzige Operator mit drei Operanden ist, wird er manchmal als ternärer Operator bezeichnet. Im Allgemeinen ist die Assoziativität ternärer Operatoren rechtsassoziativ.
Im Folgenden finden Sie einige Erläuterungen zu bedingten Operatoren:
(1) Normalerweise ist Ausdruck 1 ein relationaler Ausdruck oder ein logischer Ausdruck, der zur Beschreibung von bedingten Ausdrücken verwendet wird. Die Bedingungen, Ausdruck2 und Ausdruck3 Konstanten, Variablen oder Ausdrücke sein. Zum Beispiel:
(x==y)?'Y':'N'(d=b*b-4*a*c)>=0?sqrt(d):sqrt(-d)ch=(ch>='A'&&ch<='Z')?(ch+32):ch
Die oben genannten sind alle zulässige bedingte Ausdrücke.
(2) Die Ausführungsreihenfolge von Bedingungsausdrücken lautet: Lösen Sie zuerst Ausdruck 1. Wenn der Wert ungleich 0 ist, bedeutet dies, dass die Bedingung wahr ist, und lösen Sie dann Ausdruck 2. Zu diesem Zeitpunkt ist der Wert von Ausdruck 2 ist wie folgt Der Wert des gesamten bedingten Ausdrucks;
Wenn der Wert von Ausdruck 1 0 ist, was bedeutet, dass die Bedingung falsch ist, wird Ausdruck 3 gelöst und der Wert von Ausdruck 3 ist der Wert von der gesamte bedingte Ausdruck. Zum Beispiel:
(a>=0)?a:-a
Das Ausführungsergebnis ist der absolute Wert von a.
(3) Im Programm wird der Wert des bedingten Ausdrucks direkt einer Variablen zugewiesen. Beispiel:
min=(a<b)?a:b
Das Ausführungsergebnis besteht darin, der Variablen min den Wert des bedingten Ausdrucks zuzuweisen, dh min die kleinere Zahl von a und b zuzuweisen.
(4) Die Prioritätsstufe des bedingten Ausdrucks ist nur höher als die des Zuweisungsoperators, aber niedriger als alle zuvor angetroffenen Operatoren.
Daher sind die min=(a<b)?a:b
-Klammern nicht erforderlich und können direkt geschrieben werden als: min=a<b?a:b
Wenn x<y?x+1:y-1
vorhanden ist, entspricht es x<y(x+1):(y-1)
, aber nicht (x<y?x+1:y)-1
(5) , Die Kombinationsrichtung bedingter Operatoren ist „von rechts nach links“.
(6) , Bedingte Ausdrücke dürfen verschachtelt werden, d. h. Ausdruck 2 und Ausdruck 3 im bedingten Ausdruck dürfen ein anderer Bedingungsausdruck sein. Zum Beispiel:
x>0?1:x<0?-1:0
Im obigen bedingten Ausdruck ist der dritte Teil des Ausdrucks ebenfalls ein bedingter Ausdruck. Entsprechend der Assoziativität des bedingten Ausdrucks entspricht der obige bedingte Ausdruck:
x>0?1:(x<0?-1:0)
dessen Funktion darin besteht, das Vorzeichen von x zu bestimmen, ist der Wert des bedingten Ausdrucks 1; wenn x eine negative Zahl ist, ist der Wert des bedingten Ausdrucks -1 , der Wert des bedingten Ausdrucks Der Wert ist 0.
(7). Bedingte Ausdrücke können die allgemeine if-Anweisung nur ersetzen, wenn die in die if-Anweisung eingebettete Anweisung eine Zuweisungsanweisung ist (und beide Zweige derselben Variablen Werte zuweisen). ). Zum Beispiel:
if(a%2==0)printf("even/n");elseprintf("odd/n");
Die Funktion dieser Anweisung ist: Wenn a eine gerade Zahl ist, wird eine gerade Zahl ausgegeben; wenn a eine ungerade Zahl ist, wird eine ungerade Zahl ausgegeben.
(8) Die Typen von Ausdruck 1, Ausdruck 2 und Ausdruck 3 können unterschiedlich sein. Zu diesem Zeitpunkt ist der Werttyp des bedingten Ausdrucks der höhere Typ unter ihnen.
Empfohlenes Tutorial: „C-Video-Tutorial“
Das obige ist der detaillierte Inhalt vonWie verwende ich den ternären Operator in der C-Sprache?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!