Jens schrieb:
> Hat jemand eine Literatur Empfehlung wo Alles sauber erklärt ist?
Selbst Kernighan/Ritchie taugt dafür noch … aber es sollte doch genügend
Tutorials im Web geben.
Du musst dir Datentypen (Ganzzahlen vs. Gleitkomma) und ihre Abbildung
in printf und scanf ansehen.
Hinweis: die Behandlung zwischen "double" und "float" ist zwischen scanf
und printf nicht identisch. Das liegt einfach daran, dass
prinzipbedingt bei der printf-Funktion immer nur "double" ankommen kann,
bei scanf dagegen Zeiger auf die jeweiligen Objekte. Diese Objekte
haben im Speicher dann eine bestimmte Länge, die sich zwischen "float"
und "double" unterscheidet. Passt das Format von scanf nicht zur Länge
des Objekts, dann wird entweder zu wenig oder zu viel im Speicher
geschrieben beim Einlesen.
Vernünftige Compiler sollten das allerdings heutzutage auch warnen, wenn
die Formate nicht passen, und man tut in jedem Falle gut daran, sich die
Compiler-Warnungen genau anzusehen - auch, wenn es keine (fatalen)
Fehlermeldungen sind.