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