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.


Anmelden zum Antworten