Frage von waveboardexpert, 45

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:

include

int 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!

Hilfreichste Antwort - ausgezeichnet vom Fragesteller
von androhecker, 23

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

Antwort
von Stadch, 21

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 

Keine passende Antwort gefunden?

Fragen Sie die Community