For-Schleife



  • ich habe folgenden quelltext und dazu eine frage:

    for(a=0;a<=30;a++)
    for(b=0;b<=4;b++)
    x=a*0.1+b*0.02;
    

    also dies sind zwei hintereinander stehende forschleifen.
    wenn ich in die erste gehe, ist der erste wert a=0 und dann b=0.
    doch was passiert dann? läuft erst a 30 mal durch und dann b viermal oder läuft a und b im wechsel und erhöht sich um eins?
    danke für eure antworten!



  • Du kannst das auch so schreiben:

    for(a=0;a<=30;a++)
    {
        for(b=0;b<=4;b++)
        {
            x=a*0.1+b*0.02;
        }
    }
    

    Es wird also erst b bis 4 hochgezählt, dann a um eins erhöht, dann wieder b bis 4, dann wieder a um eins...



  • also ich habe jetzt mal ein printf eingefügt um das zu sehen was passiert:

    for(a=0;a<=30;a++)							
    		for(b=0;b<=4;b++)
    		{
    			printf("%d\n\n",a);
    			printf("%d\n",b);
    			x=a*0.1+b*0.02;																
    			//printf("%3.2lf",x);
    		}
    };
    

    aber komischerweise etwas ganz anderes als ich erwarte!
    er spuckt folgende zahlen aus:

    0
    11 müsste er hier dann nicht bei eins anfangen? warum bei 11?

    1
    11

    2
    11

    3
    11

    4
    12

    0
    12

    1
    12

    2
    12

    3
    12

    4
    13

    0
    13

    1
    13

    2
    13

    3
    13

    4
    14

    0
    14

    1
    14

    2
    14

    3
    14

    4
    15

    0
    15

    1
    15

    2
    15

    3
    15

    4
    16

    0
    16

    1
    16

    2
    16

    3
    16

    4
    17

    0
    17

    1
    17

    2
    17

    3
    17

    4
    18

    0
    18

    1
    18

    2
    18

    3
    18

    4
    19

    0
    19

    1
    19

    2
    19

    3
    19

    4
    20

    0
    20

    1
    20

    2
    20

    3
    20

    4
    21

    0
    21

    1
    21

    2
    21

    3
    21

    4
    22

    0
    22

    1
    22

    2
    22

    3
    22

    4
    23

    0
    23

    1
    23

    2
    23

    3
    23

    4
    24

    0
    24

    1
    24

    2
    24

    3
    24

    4
    25

    0
    25

    1
    25

    2
    25

    3
    25

    4
    26

    0
    26

    1
    26

    2
    26

    3
    26

    4
    27

    0
    27

    1
    27

    2
    27

    3
    27

    4
    28

    0
    28

    1
    28

    2
    28

    3
    28

    4
    29

    0
    29

    1
    29

    2
    29

    3
    29

    4
    30

    0
    30

    1
    30

    2
    30

    3
    30

    4

    sorry dass das so lang ist!



  • Gib mal beides in einer Zeile aus:

    printf("a %d b %d\n",a,b);
    

    Offenbar kannst Du in der Konsole nicht bis zum Anfang zurück scrollen.
    Kannst ja mal vor den Schleifen folgendes ausgeben:

    printf("Start");
    


  • ohh, ja, jetzt sieht es viel besser aus!
    vielen vielen dank für die schnelle antwort!


Anmelden zum Antworten