C/C++:Was Beduetet x?y:z

Hallo.

MPNuts hat gesagt.:
kann es sein, dass ich auch immer einen "else"-Zweig brauche, denn das funktioniert nicht
(x>100)?break;
Ohne else, bzw. den 3. Operanden macht diese Operation nicht allzuviel Sinn.
In der Mathematik (Lineare Algebra/ Boolsche Algebra/ Aussagen-Logik) nennt man so etwas einen tertiären Operator, der (oh Wunder! :)) drei Operanden benötigt, um angewandt zu werden.
Und da (fast alle) Programmiersprachen eine ewiglich-feurige Symbiose mit der Mathematik bilden, findet dieser Gedanke auch hier Anwendung.

Gruß, Niko
 
Welchen Fall genau meinst du jetzt?
Den folgenden?
Code:
if (x>100){break;}
Ich glaube sogar, dass man hier auf die {} verzichten kann; kürzer geht das aber meines Wissens nicht.

Gruß, Niko
 
Ja, das mein ich.
Und ja, man kann auf die Klammern verzichten, immer wenn es nur eine Anweisung ist, kann man darauf verzichten.
Ich mache sie immer, da es einfacher zu erkennen ist, was man macht und was zu was gehört(komischer Satzbau, oder?).
kürzer geht das aber meines Wissens nicht.
Naja, ich werde es überleben! trotzdem danke! Kannst du mir vieleicht sagen, wie ich in der x?y:z Blöcke zusammenfasse?
 
Hmmm...

Da würde ich ganz spontan sagen: Mit geschweiften Klammern.
Code:
  (x>100)?{tue dies, wenn x>100 ist}:{tue das, wenn nicht}
Ist aber mal nur geraten. :)

Gruß, Niko
 
Das hatte ich probiert, habe ich mir nämlich auch gedacht, aber Pustekuchen!
Oder ich habe es falsch gemacht, was ich mir aber eigentlich nicht denken kann, da es da ja eigentlich icht viel falsch zu machen gibt!
 
Tja, dann dürfte das Problem wohl das sein, dass dieses Konstrukt nur für den Fall gedacht ist, dass du jeweils genau eine Anweisung ausführst.
Denke ich mir jetzt zumindest mal, da ich selber mit x?y:z noch nicht wirklich viel gearbeitet habe (als if-Fan :)).
Denn ich spare nur dann beim Code, wenn es sein muss, ansonsten bin ich ein klarer Verfechter von ausführlichem und damit meistens verständlicherem Code.
Deshalb reiche ich diese Frage jetzt einfach mal dezent an die anderen weiter...
*Frage weiterreicht*

Gruß, Niko
 
.....
Da gibt es einen ziemlichen Unterschied zwischen Codeblöcken (mit geschweiften Klammern) und Anweisungen.... (von den genauen Namen hab ich grad keine Ahnung, vl heißt das Zeuch offiziell anders)
Setz dich noch ma ein bisschen mit deinem Tutorial auseinander....
 
Wo gibt es ein gutes Tutorial dazu?
Vieleicht hier im Forum? Ich habe irgendwie mitbekommen, dass es hier einige Lernhilfen geben soll, wo stecken die?

Ach natürlich herzlichen Dank für die Hilfe!
 

Neue Beiträge

Zurück