#include <stdio.h>
int main(){
char ch;
while((ch=getchar())!=EOF){
putchar(ch);
}
char ch2 = 'A';
printf("ch2=======>%c\n",ch2);
ch2 = getchar();
printf("ch2=======>%d\n",ch2);
return 0;
}
Ich verstehe nicht, warum es überspringt den ch2=getchar()
Eingang, und ich bekomme ch2 == -1 ist der Wert von EOF. Ich habe versucht, dies zu lösen, indem ich ein weiteres getchar()
vor ch2=getchar()
hinzufüge, aber ich bekomme immer noch ch2 == -1. Warum ist es und wie man es repariert? Danke fürs Helfen.ch2 = getchar() funktioniert nicht nach dem letzten Eingangsschleife while ((ch = getchar())! = EOF)
Ich benutze MacOS.
Warum verwenden Sie sogar EOF in diesem Beispiel? Soweit ich das sehen kann, hat dieser Code nichts mit einer Datei zu tun. –
Die letzte Eingabe ist 'EOF', also wird es nicht in die Schleife gehen; –
Sobald Sie das Ende der Eingabe erreicht haben, wird jeder weitere Leseversuch immer noch das Ende der Eingabe treffen. – melpomene