Zitat Zitat von Liquidator Beitrag anzeigen
Auch nachdem ich eine Abfrage eingefügt habe im Hinblick auf Überprüfung der Array-Parameter und ihrer maximalen Grenzen, hat der Compiler trotzdem rumgemeckert.
Der Compiler überprüft die Sinnhaftigkeit deiner Rechnungen nicht. Im ist egal, ob die Arraygrenzen überprüfst.
Und dann ist mir an einer Stelle aufgefallen, dass ich dort das '\0' -Endzeichen manuell gesetzt habe. Und das war der Grund wieso er eigentlich rumgemeckert hat!
Hat der Compiler denn keine Zeilennummer zur Warnung angegeben? Diese heiß, wie du schreibst "WARNING: array subscript is above array bounds" und nicht könnte oder so. Und da wirst du auch hinten aus deinem Array hinausgeraten sein. Ist so der Standardfehler in C:

char text[20];
text[20] = '\0';

Aus irgendeinem Grund hat der Compiler wohl gemeint, ich schreibe ihm in den unerlaubten Bereich was rein.
Unerlaubt ist das nicht, dann wäre es ein Error und das Programm würde nicht Compilieren.

Eigentlich war der Schritt auch überflüssig (falsch jedoch nicht).
Zeig mal die relevante Codestelle incl der Arraydeklaration. Da wird schon was falsch sein. Geh mal einfach davon aus, daß der Compiler die Sprache viel besser als du kennt. Und das ein Programm trotzdem oft funktioniert ist normal.

MfG Klebwax