For-Schleife - Verständnisfrage

Gast #4451394
Lesenswert?

Hallo liebe Community,
ich habe folgendes Programm :

 // AUFAGBE 2: Welche Ausgabe erzeugt das nebenstehende Programm in 
seiner //letzten Zeile? Stellen Sie dazu eine Wertetabelle für i und n 
auf.
1
  
2

3
      #include <stdio.h>
4

5

6
   void main()
7
       {
8

9

10
       int n=0, i=0;
11

12
       for(i=0;i<30;i++)
13
      {
14
        if(i>20)break;
15
        n+=100;
16
        if(i<10)continue;
17
        n-=100;
18
               }
19
         printf("%i\n",n);
20
      }
    // Lösung AUFGABE2:

    // i      n
    //----------------
    // 0    0
    // 0    100
    // 1    200
    // 2    300
    // 3    400
    // .    .
    // .    .
    // 9    1000
    // 10    1100
    //----------------
    // 1000
    // 10    1000
    // 11    1100
    // 11    1000
    // 12    1100
    // 12    1000
    // .    .
    // .    .
    // 19    1100
    // 19    1000
    // 20    1100
    // 20    1000
    //----------------
    // 21 break ist wirksam, die
    //  Schleife wird verlassen,
    //  obwohl sie noch nicht zu
    //  Ende ist (geht bis 30).
    // ---> Ausgabe 1000


Dass bei 20 Schluss ist, ist mir klar.
Allerdings verstehe ich nicht, wie die n Werte zustande kommen.
Wie kann 0 laut Musterlösung zwei Werte annehmen (0 und 100) ?
Wird das n-=100; durch continue übersprungen?
Gast #4451402
Lesenswert?

Erstes "0" ist Startbedingung vor der Schleife. Zweites im ersten 
Schleifendurchlauf.

Ja, continue sagt aus, dass ein neuer Schleifendurchlauf durchgeführt 
werden soll, ohne nachfolgende Befehle zu beachten.

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren