eine Lösung zu Kurs 9
Heute zur Abwechslung mal eine Lösung, die nicht funktioniert.
Was ist daran falsch?
int spielfeld_anzeigen( SPIELFELD *spielfeld )
int x, y;
for (y = 0; y++; y = MAX_Y)
printf("\n");
print(hole_darzustellendes_zeichen( spielfeld, x, y ));
}
printf("\n");
return 0;
}
void main()
int return_wert;
return_wert = spielfeld_anzeigen(Test);
}
Fehler 1: Die X-Schleife beginnt mit 0, dann wird x auf 1 erhöht, und am Ende des ersten Durchlaufes auf MAX_X gesetzt. Die Schleife wird mit x=MAX_X+1 endlos durchlaufen.
Fehler 2: Die Y-Schleife beginnt mit 0, dann wird y auf 1 erhöht, und am Ende des ersten Durchlaufes auf MAX_Y gesetzt. Die Schleife wird mit y=MAX_Y+1 endlos durchlaufen.
Fehler 3: Der Parameter des Unterprogramms wird in der Funktion 'main' mit einem falschen Typ übergeben. Hier muß die Adresse der Struktur übergeben werden.
Fehler 4: Bei der Ausgabe des Zeichens mit der Funktion 'printf' fehlt der Parameter für das Format. Hier muß ein Zeichen ausgegeben werden.
Hier die Fehlerbehobene Lösung:
int spielfeld_anzeigen( SPIELFELD *spielfeld )
int x, y;
for (y = 0; y = MAX_Y; y++)
printf("\n");
printf( "%c", hole_darzustellendes_zeichen( spielfeld, x, y ));
}
print("\n");
return 0;
}
void main()
int return_wert;
return_wert = spielfeld_anzeigen( &Test );
}