Naja, steht doch da: Deine letzte Zeile ist nicht mit einem
Newline-Zeichen beendet. Diese Unsitte ist aus irgendwelchen Gründen
unter Windows weit verbreitet, vermutlich weil manche Editoren das
gern so abspeichern. Wenn Du einen Hex-Editor hast, solltest Du
sehen, daß das letzte Zeichen kein 0x0a ist.
Der C-Standard spricht durchweg von einer Zeilenstruktur, und eine
Zeile endet halt mit dem Newline. Zwar ist C an sich eine formatfreie
Sprache, aber nicht mehr wirklich, wenn man den Präprozessor mit
einbezieht: der arbeitet streng auf Zeilenbasis. Da aber jedes
Programm erst durch den Präprozessor geht, muß es folglich aus Zeilen
aufgebaut sein (auch wenn der größte Teil dieser Zeilen durch den CPP
nicht angefaßt wird), um syntaktisch Sinn zu haben.