Int Zahl Überlauf??
-
Das ist viel zu low-level, um es auf scanf anzuwenden. Dazu müßtest du den Maschinencode der Implementierung kennen. Das OF wird ja nicht nur beim Überlauf gesetzt, sondern auch bei der nächsten Berechnung, die keinen Überlauf produziert, rückgesetzt. Also selbst wenn tatsächlich mal OF gesetzt ist, weißt du nach scanf nicht, ob es da entstanden ist wo du denkst.
BTW _asm ist nicht ANSI-C. asm ist ein C++-Schlüsselwort, aber welcher Assembler wie eingebunden wird, steht nicht im Standard.
-
Hmmm...da hast du allerdings recht. Daran hab ich gar nicht gedacht, scanf
kann einem ja bereits dazwischenfunken.Ich denke mal, dass es dann nicht moeglich ist, zu pruefen ob ein Overflow
stattgefunden hat, ausser man liesst die Zahl als Text ein, dann entsteht
natuerlich kein Overflow, da es ja lediglich Text ist.Man koennte die Zahl, welche man als Text einliesst, mit dem C-String
von itoa ( INT_MAX ); vergleiche, allerdings ist itoa kein ANSI-C (laut meiner
Doku). Da er aber keine C-Strings verwenden darf...Tjo, sonst wuesste ich nicht wie.
mfg
v R