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".ange12lo hat geschrieben:ich mach dass so : while (input_ok = 1);
Fragen bezüglich C++
Moderatoren: Heaterman, Finger, Sven, TDI, Marsupilami72, duese
Re: Fragen bezüglich C++
Re: Fragen bezüglich C++
Das gab's doch als Beispiel schon in dem C64-Handbuch in Basic:
http://www.lemon64.com/manual/manual/5_6.html
http://www.lemon64.com/manual/manual/5_6.html
Re: Fragen bezüglich C++
Außer du weist 0 zu. Der Wert einer Zusweisung ist immer gleich der zugwiesenen Zahl.xoexlepox hat geschrieben:eine Zuweisung liefert m.E. immer das Ergebnis von "!= 0"
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