wurzelsepp
Ensign
- Registriert
- Jan. 2005
- Beiträge
- 217
um auch mal "richtig" zu programmieren, hab ich jetzt mal angefangen - mit der hilfe eines buches - ein bisschen C auszuprobieren. zu dem folgenden "programm" (naja, also sagen wir progrämmchen, hehe) hätt ich allerdings noch zwei fragen:
1.) zwar ist mir klar, dass das einlesen erst aufhört, wenn EOF erreicht ist (so wollt ichs ja haben
) - aber warum is es eigentlich möglich, dass ich beliebig viele zeichen eingeben kann, dann enter drücke und genau diese zeichen wieder rauskommen?! nach meinem verständnis müsste es so sein, dass nur ein buchstabe wieder rauskommt - schließlich hab ich ja nur eine int-variable deklariert... liegt das an dem ein- und ausgabestrom? also wird sozusagen buchstabe für buchstabe in den ausgabestrom geschrieben (so müsste es ja sein, weil ich ja nur einen buchstaben einlese, bevor ich ihn mit putchar wieder ausgebe), der ausgabestrom aber auf einmal ausgegeben wird?
2.) warum kann ich mit dem programm so oft ich will eine eingabe machen, enter drücken, die ausgabe lesen und wieder eingabe machen, enter drücken, die ausgabe lesen etc... ?! die while-schleife müsste doch eigentlich nur dafür da sein, dass sie solange einliest, bis ein EOF kommt. aber wenn ich enter drücke, dann hab ich doch mein EOF und ergo müsste die schleife auch terminieren, oder?
wär cool, wenn mir das jemand erklären könnte
in dem buch hab ich leider nichts dazu gefunden - dem autor schien das ganz klar zu sein. mir aber leider nicht...
Code:
#include <stdio.h>
int main(void)
{
int in;
while(in != EOF)
{
in = getchar();
putchar(in);
}
return 0;
}

2.) warum kann ich mit dem programm so oft ich will eine eingabe machen, enter drücken, die ausgabe lesen und wieder eingabe machen, enter drücken, die ausgabe lesen etc... ?! die while-schleife müsste doch eigentlich nur dafür da sein, dass sie solange einliest, bis ein EOF kommt. aber wenn ich enter drücke, dann hab ich doch mein EOF und ergo müsste die schleife auch terminieren, oder?
wär cool, wenn mir das jemand erklären könnte

in dem buch hab ich leider nichts dazu gefunden - dem autor schien das ganz klar zu sein. mir aber leider nicht...