Für welche Werte erhalte ich die Ausgabe 1 (s. Bild)?

... komplette Frage anzeigen

3 Antworten

long hat mindestens 32 Bit; heutzutage sind 64 Bit weit verbreitet.

Versuch's also mal mit 9223372036854775807 -- diese 19 Stellen passen gerade noch so in die Eingabe (20 Zeichen inkl. \\0).

Für ein Minuszeichen bei LONG_MIN ist wohl kein Platz mehr. Die letzte Ziffer wird dann erst im nächsten Durchlauf gelesen.

Antwort bewerten Vielen Dank für Deine Bewertung

Ist jetzt aber nicht dein ernst oder? Wie in der if steht musst du LONG_MAX oder LONG_MIN eingeben. Also der höhste oder niedrigste long wert. Google ist dein Freund wie hoch der genau ist. Weiss niemand auswendig

Antwort bewerten Vielen Dank für Deine Bewertung
Kommentar von aznGirl
23.01.2016, 23:29

Ja, ist klar. Der Wertebereich von long beträgt  -2147483647 .. 2147483647. Wenn ich die Zahl direkt eingebe, dann passiert nichts. Deswegen bin ich etwas verwundert, ob ich irgendetwas übersehen habe.

0

Dazu musst du selber nachschauen, welchen Wertebereich long auf dem von dir zum Kompilieren benutzten System hat. Schau doch einfach nach den Definitionen, wenn du schon mal den Quelltext hast.

Antwort bewerten Vielen Dank für Deine Bewertung
Kommentar von aznGirl
23.01.2016, 23:37

Also theoretisch geht der Wertebereich von -2147483648..2147483647. Dann müsste die 1. Meldung doch kommen, wenn ich z.B. 2147483647 eingebe, oder?

0

Was möchtest Du wissen?