C
Schnitzel86 schrieb:
Wegen dem anderen:
Ja die message_number, könnte ich auch direkt oben auf 6 Zeichen deklarieren.
Und wie verhindere ich dann den Zugriffsfehler mit der message_number?
Indem du das Array mit 7 Zeichen anlegst (und in message_number[6] eine \0 reinpackst). Strings in C werden dargestellt durch ein null-terminiertes char-Array - und im Ernstfall mußt du daran denken, daß dieser Terminator auch Platz benötigt.
Und ja, die if Abfrage mit "%ASA" geht schief, warum? Interpretiert er das '%A' ??
Nein, der vergleicht die übergebenen Zeiger - temp_var (hat übrigens auch keinen Platz für den Null-Terminator) liegt auf dem Stack, "%ASA" ist ein String-Literal und liegt im Daten-Segment, also liefert der Vergleich mit Sicherheit false. Wenn du die Inhalte vergleichen willst, nimm strcmp().