Fragen bezüglich C++

Der chaotische Hauptfaden

Moderatoren: Heaterman, Finger, Sven, TDI, Marsupilami72, duese

Antworten
Benutzeravatar
xoexlepox
Beiträge: 4815
Registriert: So 11. Aug 2013, 19:28
Wohnort: So etwa in der Mitte

Re: Fragen bezüglich C++

Beitrag von xoexlepox »

ange12lo hat geschrieben:ich mach dass so : while (input_ok = 1);
Das ist eine der ganz beliebten "C"-Fallen, in die jeder irgendwann mal tritt! "input_ok = 1" ist eine Zuweisung, und kein Vergleich (wie z.B. "input_ok == 1"). Ein Vergleich hat immer ein boolsches Ergebnis, eine Zuweisung liefert m.E. immer das Ergebnis von "!= 0", d.h. die Schleife wird nie beendet. Eigentlich müsste der Compiler an dieser Stelle schon "heftig meckern".
Benutzeravatar
tixiv
Beiträge: 128
Registriert: Di 13. Aug 2013, 13:54
Wohnort: Gelsenkirchen

Re: Fragen bezüglich C++

Beitrag von tixiv »

Das gab's doch als Beispiel schon in dem C64-Handbuch in Basic:

http://www.lemon64.com/manual/manual/5_6.html
Benutzeravatar
flogerass
Beiträge: 1145
Registriert: Mo 12. Aug 2013, 17:46
Wohnort: Nord-Östlich von Ulm

Re: Fragen bezüglich C++

Beitrag von flogerass »

xoexlepox hat geschrieben:eine Zuweisung liefert m.E. immer das Ergebnis von "!= 0"
Außer du weist 0 zu. Der Wert einer Zusweisung ist immer gleich der zugwiesenen Zahl.
Deshalb kann man ja auch x=y=z=6 schreiben.
Es gibt ja auch das pre- und postincrement.

Code: Alles auswählen

x = y = 5
a = x++   //a=5
b = ++y   //b=6
Antworten