Jochen Heller <[EMAIL PROTECTED]> writes:
> es ist wirklich nichts weltbewegendes oder st�rendes. Ich beginne nur 
> gerade damit, mich mit C zu besch�ftigen und habe das Buch von 
> Kernighan und Ritchie auf dem Scho�. Da habe ich gemerkt, wenn ich ein 
> Programm kompiliere und eben nach der schlie�enden geschweiften Klammer 
> nicht nochmal Enter gedr�ckt hab, dass gcc dann bemerkt, dass da keine 
> neue Zeile am Ende der Datei zu finden war. Und da ich diese Meldung ja 
> auch von der /etc/fstab her kenne, wenn man es da eben nicht macht, 
> ohne dass es weiter schlimm ist, m�chte ich nur gerne mal wissen, aus 
> welchem Grund st�rt er sich eigentlich daran? - Oder wird ihm durch die 
> letzte Leerzeile dann eindeutig das Ende der Datei angezeigt oder wie? 
> Ich mein er kompiliert ja das Programm, er sagt halt nur, dass die 
> letzte Zeile keine leere ist.

gcc st�rt das fehlende Zeilenende weniger (sonst w�rde gcc sich ja mit
einem Fehler verabschieden). Es gibt aber diverse f�r C-Programmierer
wichtige Tools, die das finale Zeilenende zwingend erwarten und auch der
ISO-Standard, der bestimmt, wie ein C-Programm auszusehen hat, geht von
der Existenz eines solchen "end-of-line indicator" aus:

Aus ISO/IEC 9899:1999, Section B, �5.2.1, p3: "In source files, there
shall be some way of indicating the end of each line of text;".

Thomas Jahns 
-- 
"Computers are good at following instructions,
 but not at reading your mind."
D. E. Knuth, The TeXbook, Addison-Wesley 1984, 1986, 1996, p. 9

Antwort per Email an