bubble: C: Wer erklärt mir diese Zeile?

Beitrag lesen

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