PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : [C] Merkwürdiges Verhalten



Prick
11-02-2004, 20:49
Hallo,

hab seit neuester Zeit innerhalb eines kleinen Programmes häufiger sehr komisches Verhalten beim Aufrufen von Funktionen (auch aus den Standard Bibliotheken) und auch meinen eigenen Funktionen. Schreibe ich einen langen String in printf oder fprintf() oder auch beim Übergeben an eigene Funktionen "hintereinander", kommt es vor, dass das Programm zu einem Speicherzugriffs Fehler führt.
Es kommt teilweise auch vor, dass komplette Programmteile dabei übersprungen werden. Der Fehler geschieht hierbei:
// hier tritt der fehler auf
printf("dasisteinlangerstringdereigentlichkeinensinnmacht\ n");

// damit geht es
printf("dasisteinlangerstringde \
reigentlichkeinensinnmacht\n);

Also springe ich beim Übergeben der Übersicht halber in eine neue Zeile läuft das Programm normal ab. Kann das jemand erklären oder hatte jemand bereits ähnliches Verhalten in seinen Programmen feststellen können?

Bin für jede Hilfe danbar,
h.d.

nobody0
13-02-2004, 15:10
Der Unterschied ist, dass bei der ersten Version der String am Ende \ n hat, während es bei der zweiten \n ist. Weil \ als Steuerzeichen interpretiert wird, funktioniert das erste mit "\ " nicht während das zweite mit "\n" funktioniert.

anda_skoa
14-02-2004, 13:32
Wenn eine Zeichenkette länger als eine Zeile ist schreibt man das so



printf("das ist ein viel zu langer"
" string");


Ciao,
_