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?