while ((c = getchar()) != EOF && c != '\n');
das mal aufgedröselt:
1. c = getchar() liest einen char und speichert ihn in c
2. (c = getchar()) != EOF wie 1. doch guckt zusätzlich noch ob c ungleich EOF ist (EOF ist eine irgendwo definierte Konstante und ist die Abkürzung für end of file, in diesem Fall -> keine Tastatureingaben)
3. c != '\n' sollte ich nicht erklären müssen oder?
4. (( c= getchar()) != EOF && c != '\n') ist also ein Vergleich ob getchar() etwas von EOF und '\n' verschiedenes geliefert hat.
5. while(bedingung); macht solange nichts bis bedingung false ist.
while ((c = getchar()) != EOF && c != '\n'); liest also solange weiter bis EOF oder '\n' zurückgegeben wird.
Welches Betriebssystem nun EOF und welches '\n' zurückgibt weiß ich jetzt nicht.
MfG
bubble
If "god" had intended us to drink beer, he would have given us stomachs. - David Daye