Weitere und ernste Probleme mit Fahrtenregler

michael_x:
Schon schlimm, dass solche Sachen in C syntaktisch richtig sind und nicht mal Warnungen produzieren ...

Manche Programmierer, die auch in anderen Sprachen programmieren, wo man mit "=" nicht nur Zuweisungen sondern auch Vergleiche machen kann, haben sich schon angewöhnt, die Parameter beim Vergleich auf Gleichheit mit Konstanten umgedreht hinzuschreiben:

Statt:
if (run==0)
Schreibe:
if (0==run)
Ist es korrekt, frißt es der Compiler so oder so. Aber macht man es falsch, ist es ein Unterschied.

if (0=run) sollte ja bei einem Vergleich auf Gleichheit prüfen. Aber macht man den Fehler so herum, gibt es einen satten Compilerfehler und kann sofort erkennen, dass da etwas nicht stimmt.

Aber im Endeffekt sind das eher typische Anfängerfehler, gelegentlich if (run=0) statt if (run==0) zu schreiben. Das sollte man sich beim Programmieren in C sehr schnell abgewöhnen. Oder beim Vergleich mit Konstanten tatsächlich konsequent die Konstante im Vergleich zuerst hinschreiben.