Frage von Zauberblau, 23

C++ Anfängerfrage: For-Loop, verstehe die Ausgabe nicht?

Ich stehe noch ganz am Anfang und habe Probleme mit folgendem sehr kurzem Code: int n, s=0; for(n=1; n <= 4; n++); s=s+n;

Ich habe mir selbst einige Gedanken dazugemacht: // s=0, n=1: 0=0+1, n=2, s=1: 1=1+2, n=3, s=3: 3=3+3, n=4, s=6: 6= 6+4 Müsste der Durchlauf sein, tatsächlich ist am Ende die Ausgabe von s (und auch von n) 5?! Ich habe also versucht, n<=x zu verändern und für x unterschiedliche Werte eingesetzt. x+1=Ausgabe (s), aber warum? Ich habe außerdem s=0 verändert. Habe auch weitere Notizen die ich bei Bedarf gerne anfüge, möchte aber nicht noch mehr verwirren. Kann mir bitte jemand helfen?

Antwort
von Schattenangst, 3

Du inkrementierst n, von daher ist n!=1, sondern 2. 

s=0, n=2: 0=2+0.... Entsprechend erhälst du für n=2, und für s=2, als Ergebnis für die rechte Gleichung. für n<=4 erhälst du entsprechend 5: s=0, n=4 (+1): s=5, n=5

Antwort
von Zauberblau, 4

Und warum ist die for Schleife nicht dieselbe wie folgende while Schleife:

int n=1, s=0;
while (n<=4)
{
s=s+n;
n++;
}
cout << "S: " << s << " und N: " << n << endl;

Kommentar von Schattenangst ,

Versuchs mal mit int n=1, s=0;
while (n<=4)
{
n++;
}
s=s+n;

Keine passende Antwort gefunden?

Fragen Sie die Community

Weitere Fragen mit Antworten