Hi,
Es gibt etwas, was ich bei C ganz und gar nicht verstehe. Man muss sich ja um die Speicherzuteilung selbst kümmern. Jetzt sind in den Buchbeispielen die Variablen zB mit int x deklariert.
Es steht erkärt, daß int, Ganzzahl bedeutet, mit einem Wertbereich von -32768 bis 32767.
Bedeutet das Du nur ganzzahlige Werte speichern kannst. In deinem Fall ist int 16 Bit groß wobei das Bit 15 das signifikante Bit (Vorzeichen) darstellt. Anders ausgedrückt, Du kannst darin nur ganzahlige Werte von -32768 bis 32767 speichern, weil mehr geben die 16 Bit nicht her. Integer kann aber auch 32 Bit groß sein, dass kommt darauf an, für welches System Du programmierst.
Soll das jetzt bedeuten, daß wenn ich eine Eingabeaufforderung habe, und eine Zahl, die mit int deklariert wurde, nur eine Zahl zwischen diesen Werten eingeben darf, oder bedeutet das doch etwas ganz anderes ?
Was Du eingibst ist irrelevant, deine Variable (int) zur Aufnahme des Wertes kann nun mal nur den angesprochenen Bereich abdecken. Wie die Eingabe umgewandelt wird und was Da rauskommt steht auf'nem anderen Blatt. Gibst Du keine Zahlen ein so wird in der Variablen der Wert 0 stehen. Gibst Du 123456789 ein so wird das in ein int umgewandelt, allerdings wird die Variable nicht 123456789 enthalten, da 16 Bit. Sprich wenn der Tank voll ist und Du noch mehr Sprit reinläßt, dann geht viel daneben. Das ändert aber nichts an der Tatsache das Sprit im Tank ist.
Von der Logik her, müsste es doch etwas anderes bedeuten, weil ich kann doch im Programm vorher nicht wissen, was ein User eingibt?
Deswegen wollt ich jetzt mal gerne wissen, was dieser Wertbereich bedeutet?
Du weißt auch nicht was der User eingibt aber Du weißt was Du haben willst und dementsprechend verarbeitest Du die Eingabe. Was der User eingibt ist egal, Du bzw. dein Programm will nur ein int und wenn der Wert nicht stimmt, na dann hat der User eben Pech, schließlich will er durch das Programm was erreichen und nicht umgekehrt.
Btw: Warum "Zur Info" als Topic ?
hth
sabine