dennis3484
Ensign
- Registriert
- Apr. 2003
- Beiträge
- 146
Hallo,
ich lerne gerade für meine C-Klausur. In einer der alten Klausuren gab es folgende Aufgabe, von der man dann die Ausgabe aufschreiben sollte.
Leider ist mir folgender Abschnitt völlig unklar:
j ist zuerst null, also müsste 0 % 5 berechnet werden, was 0 ergibt. Somit müsste schon 1 Mal die continue Anweisung ausgeführt werden. Scheint aber nicht der Fall zu sein.
Als Ergebnis kommt übrigens das heraus:
Ich hoffe, dass mir jemand helfen kann.
Danke
ich lerne gerade für meine C-Klausur. In einer der alten Klausuren gab es folgende Aufgabe, von der man dann die Ausgabe aufschreiben sollte.
Code:
#include <stdio.h>
int main()
{
int i,j;
i = 7;
for(;;)
{
printf("%d", i);
i -= 2;
if (i < 1) break;
j = 0;
do {
if (j++ % i == 0) continue;
printf("%d", j);
} while (i > j);
printf("***\n");
}
printf("###\n");
}
Code:
do {
if (j++ % i == 0) continue;
printf("%d", j);
} while (i > j);
j ist zuerst null, also müsste 0 % 5 berechnet werden, was 0 ergibt. Somit müsste schon 1 Mal die continue Anweisung ausgeführt werden. Scheint aber nicht der Fall zu sein.
Als Ergebnis kommt übrigens das heraus:
Das Komisch an der Sache ist, wenn ich das Programm in Einzelschritten durchführe, dass ein komplett anderes Ergebnis erscheint:72345***
523***
3***
1###
75***
55***
3***
1###
Ich hoffe, dass mir jemand helfen kann.
Danke