> Ich bekomme aber Werte von beispielsweise -20000 oder +500000.
mir fällt noch ein Fehler ein, bei dem es so aussieht, als ob derartige
Werte entstehen würden. (zb auf einem LCD)
Dreh und Angelpunkt ist die Beobachtung, dass ein Überschreiben eines
Textes mit einem anderen - kürzeren - Text selbstverständlich NICHT den
überstehenden Textteil überschreibt.
Hab ich Display stehen
und schreibe ich da, beginnend mit dem Zeilenanfang, den Text "Juhu"
drüber, dann entsteht logischerweise
Bei Texten ist das völlig klar und von weitem zu sehen. Bei Zahlen
hingegen kann es zb zu der Situation kommen, dass am LCD
steht. Und wenn ich die mit zb 99 überschreibe und nicht bedenke, dass
100 aus 3 Stellen besteht, 99 aber nur aus 2, dann landet man bei der
Anzeige bei
Ein Mensch liest dann neunhundert-neunzig, wo eigentlich 99 stehen
sollte und auch steht. Nur steht eben auch noch die Einerstellen-0 von
den 100, die vorher dort gestanden ist, dort.
printf bietet schöne Möglichkeiten, wie man dafür sorgen kann, dass
Zahlenausgaben immer die gleiche Länge haben und gegebenenfalls links
mit wahlweise führenden 0-en oder Leerzeichen aufgefüllt wird.
Wenn es das nicht ist, dann wird dir wohl nichts anderes übrig bleiben,
als die Salamitaktik aufzugeben und endlich mal etwas kompletteren Code
zu zeigen, damit man den Datentypfehler suchen kann, der dir irgendwo in
den Weiten des Programms passiert ist.