kann mir jemand mit diesem Programmcode helfen #include<Studio.h> main() { Int i=5; printf("%d",++i + ++i + ++i); }?

...komplette Frage anzeigen

4 Antworten

der code macht folgendes:

eine variable typ integer (ganzzahl) deklarieren und gleichzeitig mit dem wert 5 initialisieren.

dann eine dezimalzahl ausgeben, die sich aus ++i (++ ist vor der verwendung um eins größer machen) und zwei weiteren summanden ++i zusammensetzt. aufgelöst ist das also die ausgabe einer dezimalzahl, die so ausgerechnet wird:

++5 = 6 plus ++6 = 7 plus ++7 = 8 ergibt am ende 21

kann man so machen, ist aber schlechter stil.

Antwort bewerten Vielen Dank für Deine Bewertung
Kommentar von PWolff
05.03.2017, 19:43

Es ist nicht nur schlechter Stil, sondern kann auch zu schwer auffindbaren Fehlern führen.

Bei so einer Addition spielt das keine Rolle, weil man die Summanden vertauschen kann, aber der Compiler darf die Operationen vertauschen, wenn er meint, dass es dann schneller oder sonstwie besser geht; und wenn man eine Differenz hat oder etwas wie f(++i, ++i), kommt je nach Reihenfolge etwas anderes heraus.

1

Du hast nur einmal %d drin, aber 3 Variablen. Würde ich zumindest mal behaupten. Oder was versuchste da?

Probier mal:

printf("%d %d %d",++i, ++i, ++i);

Und schreib vll Int klein.

Antwort bewerten Vielen Dank für Deine Bewertung
Kommentar von Isendrak
23.08.2017, 00:14

Du hast nur einmal %d drin, aber 3 Variablen.

Nicht ganz...

Es ist zunächst 3 mal die selbe Variable. ;)

Diese aber nicht in Form von 3 Parametern, sondern nur einem...

Lies es ggf. mal so:

int i=5;
int foo = (++i) + (++i) + (++i);
printf("%d", foo);

Insgesamt wird daraus also was in der Art:

printf("%d", 6 + 7 + 8);

Und schreib vll Int klein.

Entwerder das, oder mach vorher ein

typedef int Int;

;)

0

Was ist denn das Problem?

Antwort bewerten Vielen Dank für Deine Bewertung
Kommentar von Changilsung
05.03.2017, 19:00

Das Problem ist ich habe überhaupt keine Ahnung von Computer Sprache etc. 

das ist für ein Wettbewerb, bei Mathematik und Logik geht es aber bei infomatik habt ich keine Ahnung 

0

Versuchs mal damit:

#include<stdio.h> 

main() {
int i=5;
printf("%d",++i + ++i + ++i);   
}
Antwort bewerten Vielen Dank für Deine Bewertung

Was möchtest Du wissen?