Fehlermeldung
-
Hallo Leute,
ich habe ein kleines Problem. Ich muss Hangman programmiern und ich habe jetzt ausprobiert mit einem struct die wortliste zu machen. Von der Wortliste möchte ich einen Buchstaben von einem Wort ausgeben doch es kommt diese Fehlermeldung.
Wenn ich das ganze Wort ausgebe kommt diese Fehlermeldung nicht.Eine nicht behandelte Ausnahme des Typs "System.AccessViolationException" ist in .exe aufgetreten.Zusätzliche Informationen: Es wurde versucht, im geschützten Speicher zu lesen oder zu schreiben. Dies ist häufig ein Hinweis darauf, dass anderer Speicher beschädigt ist.
struct STRUKT { char wort[6]; }; STRUKT woerter[4]={ { {"Haus"} }, { {"Baum"} }, { {"Hallo"} } }; void main() { int x=0,zz; srand(time(NULL)); zz=rand()%3; printf("%s\n",woerter[2].wort[1]);
Danke schon Mal im Voraus
-
Ich hoffe, nein, ich bete zu Gott du wolltest eigentlich ins C-Forum.
Sonst vermute ich, dass der Fehler beim Formatstring, sprich dem ersten Argument des printf-Aufrufs liegt:
printf("%s\n",woerter[2].wort[1]);
Du wolltest einen Buchstaben als String ausgeben? Da wird der Fehler liegen. Denke ich. Hab' den Code nur überflogen.
Edit: Jup, das erklärt auch, wieso, wenn du das ganze Wort ausgibst, kein Fehler passiert.
-
Dieser Thread wurde von Moderator/in SeppJ aus dem Forum C++ (auch C++0x und C++11) in das Forum C (C89, C99 und C11) verschoben.
Im Zweifelsfall bitte auch folgende Hinweise beachten:
C/C++ Forum :: FAQ - Sonstiges :: Wohin mit meiner Frage?Dieses Posting wurde automatisch erzeugt.
-
Danke für deine schnelle Antwort
Es funktioniert jetzt.
-
Bitte verwende brauchbare Threadnamen. "Fehlermeldung" ist einer der nichtssagendsten Titel in einem Forum, in dem es hauptsächlich um Fehler geht. Gleiches gilt für dein Programm. struct STRUCT, int zz. Wer kann da erkennen, um es es geht?
Wichtig: Du benutzt einen C++-Compiler für dein C. Benutze einen C-Compiler.
Wenn du Code zeigst, zeige bitte vollständigen Code in ordentlicher Formatierung. Du übertreibst mit der Einrückung und bist dabei nicht einmal konsistent. Benutze für C auch die C-Codetags (aber schön, dass du wenigstens überhaupt Codetags benutzt hast
).