Getchar, putchar in C [Geschlossen]

Ferrari - 18. Oktober 2011 um 12:17 - Letzte Antwort:  lukas
- 16. Februar 2015 um 17:41
Hallo zusammen,

Ich habe vor einer Woche angefangen C zu lernen, und habe momentan es schwer mit der Anwendung von getchar() und putchar() .
Was ist der Unterschied zwischen den Beiden Funktionen?
Hier ein Beispiel wo beide Funktionen auftauchen

#include <stdio.h> 
#include <stdlib.h> 
int main() 
{ 
int c; 
c=getchar(); 
while (c!=EOF) 
{ 
putchar(c); 
c=getchar(); 
} 
return 0; 
}


Warum ist c als int definiert ???

Gruß Ferrari
Mehr anzeigen 

5 Antworten

+2
Bewertung
Hallo,

getchar liest die Eingaben ( Zeichen) und putchar gibt sie aus .

Hier ist etwa eine bessere (deutliche) Schreibweise deines Codes:


#include <stdio.h>

int main()
{  
    int c;

    while ((c = getchar()) != EOF)     <----- Zeichen lesen
        putchar(c);                            <----- Zeichen anzeigen
    return 0;
}


LG
Hat Ihnen diese Antwort weitergeholfen?  
+1
Bewertung
Hallo,

Wenn es keine Eingaben eingetippt werden, gibt getchar einen Sonderwert EOF ( End Of File ) .
EOF ist nicht von Typ char und deshalb deklariert man c als int .

Gruß
0
Bewertung
Hallo,

bei mir geht auch mit dem folgenden Code ;-)

#include <stdio.h>
int main()
{
int c;

do{
c=getchar();
putchar(c);
}while(c != EOF);

return 0;
}



Gruß WerIstDA
0
Bewertung
1
Hallo,

Ich bin ein C-Anfänger und ich verstehe nicht warum ihr die Variable c als int definiert habt und nicht als char .

Danke euch für die Erklärung
weil du sonst stirbst