Forum: PC-Programmierung c++ was macht diese zeile?


von peter (Gast)


Lesenswert?

kann mir mal bitte jemand weiterhelfen..
was macht denn diese Zeile? also bessergesagt das ? und der : .

max = x ? array[x-1] : 0;

danke im voraus mfg

von Klaus W. (mfgkw)


Lesenswert?

an max wird etwas zugewiesen.
Und zwar: falls x!=0 ist, wird array[x-1] zugewiesen.
Ansonsten der Wert 0.

... ? ... : ... ist in jedem C-Buch beschrieben.
Die Zuweisung wohl auch.

von g457 (Gast)


Lesenswert?

> max = x ? array[x-1] : 0;

..das ist der ich-weiss-nicht-wie-er-heisst-Operator [1] - eine 
Verkürzte Schreibweise für ein 'if', in Pseudocode heisst das
1
if x is true then
2
    max := array[x-1]
3
else
4
    max := 0;

HTH

[1] 
http://de.wikibooks.org/wiki/C-Programmierung:_Ausdr%C3%BCcke_und_Operatoren#Bedingung_.3F:

von Marvin S. (demo)


Lesenswert?


von Rolf M. (rmagnus)


Lesenswert?

Manchmal wird er auch der ternäre Operator genannt, weil er der einzige 
mit drei Operanden ist.

von Urb (Gast)


Lesenswert?

Wird als
ternary opartor bezeichnet (deutsch: ternär )

http://en.wikipedia.org/wiki/Conditional_operator

von adda (Gast)


Lesenswert?

wenn du noch weitere fragen hast, probier mal diesen link von 
galileocomputung.

http://openbook.galileocomputing.de/c_von_a_bis_z/

ist als c-referenz meiner meinung nach sehr gut.
VG

von adda (Gast)


Lesenswert?

Nachtrag:
<BEDINGUNG> ? <ANWEISUNG 1> : <ANWEISUNG 2>
wird Bedingungsoperator genannt.

von X-Rocka (Gast)


Lesenswert?

und was macht ":=" im vergleich zu "=" in C?

von Klaus W. (mfgkw)


Lesenswert?

a:=b ist dasselbe wie a = a:b, nämlich falsch

von Serienjunkie (Gast)


Lesenswert?

Eine Fehlermeldung im Compiler hervorrufen?

von thorstendb (Gast)


Lesenswert?

> und was macht ":=" im vergleich zu "=" in C?
Ist in pascal oder VHDL eine Zuweisung. Wird auch meist für Pseudocode 
verwendet.

VG,
/th.

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.