C Programmierung: 2 Eingaben durch Komma trennen?
Hallo,
ich habe folgende Aufgabe:
Schreiben Sie ein C-Programm, das zwei Integerzahlen (Typ int) einliest und addiert.
Programm Bereichsüberschreitungen
Geben Sie bitte zwei Integerzahlen ein: x, y
Die Summe von x und y ist: _______
Experimentieren Sie mit sehr großen Werten und erläutern Sie in 5 Sätzen, welche Effekte auftreten und woran das liegt.
Mein bisheriger Code:
includeint main() { int x; int y; int ergebnis;
printf("Welche zwei Integer sollen addiert werden?");
printf("\nErster Integer: ");
scanf_s("%i", &x);
printf("Zweiter Interger: ");
scanf_s("%i", &y);
ergebnis = x + y;
printf("Das Ergebnis aus %i + %i = %i\n", x, y, ergebnis);
return 0;
}
Erstens kriege ich es nicht hin, dass ich die Eingaben des Users durch ein Komma trenne. Immer nach dem ersten Integer macht er dann automatisch ein Zeilenumbruch, bevor ich das Komma ausgeben lassen würde.
Zweitens weiß ich nicht, wieso ich mit großen Zahlen experimentieren soll. Irgendwann (ca. bei 2.147.000.000) wird die Zahl einfach zu groß für den Typ Integer. Aber das kann es doch nicht gewesen sein.
Vielen Dank im Voraus!
2 Antworten
Ich glaube nicht, dass du bei der Eingabe die Zahlen durch ein Komma trennen sollst. Das Enter bei der Eingabe ist der Zeilenumbruch, und so einfach lässt sich dieser auch nicht verhindern.
Hättest du mit großen Zahlen experimentiert, hättest du gemerkt, dass ein Overflow passiert, die Zahl beginnt also wieder von unten.
Zum nachlesen: https://en.wikipedia.org/wiki/Integer_overflow
Ich kenn mich nicht genug mit C aus um dir mit deinem Code zu helfen, aber ich weis dass der nächst größere Datentypen über Int, Long ist, vllt hilft dir das weiter
Mit freundlichen Grüßen Stadch