Anfängerfrage: return-Bedingung (Update: beantwortet)
-
Hallo, eine kurze Anfängerfrage:
Was genau bedeutet am Programmende die Anweisung "return (a>0)?a:0" für ein Integer a und wie ist die Syntax für den hinteren Teil? Leider war meine Suche erfolglos, da ich nicht weiß, wie diese Bedingung heißen könnte und ich diesen ?a:0 Vergleich nicht ganz verstehe.--- Update: Anfrage beantwortet ---
Danke allen für die schnellen und richtigen Antworten!
-
aymz schrieb:
Hallo, eine kurze Anfängerfrage:
Was genau bedeutet am Programmende die Anweisung "return (a>0)?a:0" für ein Integer a und wie ist die Syntax für den hinteren Teil? Leider war meine Suche erfolglos, da ich nicht weiß, wie diese Bedingung heißen könnte und ich diesen ?a:0 Vergleich nicht ganz verstehe.Wenn der Ausdruck vor dem ? Wahr ist (also wenn a größer 0 ist), dann wird der Wert vor dem : zurückgegeben (also der Wert von a). Ist der Ausdruck falsch, wird der Wert hinter dem : zurückgegeben (also 0).
Alternativ könnte man auch folgendes schreiben:
if(a > 0) { return a; } else { return 0; }
-
aymz schrieb:
Hallo, eine kurze Anfängerfrage:
Was genau bedeutet am Programmende die Anweisung "return (a>0)?a:0" für ein Integer a und wie ist die Syntax für den hinteren Teil? Leider war meine Suche erfolglos, da ich nicht weiß, wie diese Bedingung heißen könnte und ich diesen ?a:0 Vergleich nicht ganz verstehe.Das nennt sich "ternärer Operator" wegen der drei Operanden.
Grüsse
*this
-
Gast++ schrieb:
Das nennt sich "ternärer Operator" wegen der drei Operanden.
Eigentlich nennt sich das "Conditional operator". "Ternär" sagt man manchmal auch, weil es der einzige Operator in C++ mit drei Operanden ist.