Zum Forum springen
Benachrichtigungen
Alles löschen

[Geschlossen] Programmierung C99

6 Beiträge
5 Benutzer
0 Reactions
437 Ansichten

Hallo.. habe diese zwei zeilen in einem code gefunden... was genau soll das bedeuten?( (aus Heapsort)

w= n - child < WIDTH ?
n - child : WIDTH;


5 Antworten
pYrania
Beigetreten: 10.02.2006

ist einface ne ternary expression... ein if mit direkter zuweisung..

kannste auch schreiben als

if (n - chikd < WIDTH)
{
w = n - child;
} else {
w = WIDTH;
}


ah ok... danke!!


frib
Beigetreten: 26.08.2006

Ich selbst bin ja eigentlich Freund von diesen Ausdruecken, allerdings hilft eine entsprechende Klammerung denke ich doch, das ganze etwas lesbarer zu machen:

w = (n-child < WIDTH) ? n - child : WIDTH;


crt32
Beigetreten: 17.02.2007

ganz schlechter Stil, am besten gleich wieder abgewöhnen.


sarc
Beigetreten: 06.06.2008

He, der ternäre Operator ist eine der genialsten Erfindungen aller Zeiten! Auch wenn man verflucht aufpassen muss, wo man den einbaut, weils extrem schnell unübersichtlich wird. So dass für gewöhnlich empfohlen wird, auf den komplett zu verzichten...

Aber: Ich mag den auch... ;)