Bei mir kommt 512 raus, ich hab allerdings die Zahlentypen alle durch int ersetzt.
Und das ist auch schon die Lösung, du zählst bis 512, hast aber nur 256 Plätze frei ;-)
Deine Variable hat also zweimal einen Überlauf und landet dann wieder bei 0.
Ach natürlich. Wie unangenehm das nicht gesehen zu haben. Vielen Dank.
Musst du so Platz sparen?
Ich programmiere eigentlich für einen Mikrocontroller (ATMEL ATMEGA168PA).
Da ist es schon gut soweit es geht zu sparen.
Allerdings war das nur ein Testprogramm, welches ich auf meinem PC habe laufen lassen. Ich hätte also schon großzügiger sein können mit dem Speicherplatz.
Allerdings finde ich es unangenehm nicht zu wissen was ich nun meinem Variablentyp int hätte alles zutrauen können. Man kann sich ja nur auf die Mindestspeichergröße berufen. uint16_t ist da einfach klar und ohne Geheimnis.
Gruß
Schmidt