Ist getchar () entspricht scanf ( „% c“) und putchar () entspricht printf ( „% c“)?
Frage
Ist a = getchar()
entspricht scanf("%c",&a);
?
Ist putchar(a)
entspricht printf("%c",a);
wo a
eine char
Variable?
Lösung
Generell ja, sie sind die gleichen.
Aber sie sind nicht in wenigen nitpicky Wege. Die Funktion getchar
wird getippt int
und nicht char
zurückzukehren. Dies geschieht so, dass getchar
können sowohl alle möglichen char
Werte und zusätzlich Fehlercodes.
Während also die folgenden kompiliert glücklich in den meisten Compilern Sie sind im Wesentlichen Kürzen eine Fehlermeldung weg
char c = getchar();
Die Funktion scanf
, obwohl, können Sie einen char
Typ direkt verwenden und den Fehlercode in den Rückgabewert abscheidet.
Andere Tipps
Sie haben die gleiche Sache hier. Allerdings, wenn Sie wissen, dass Sie nur tun Zeichen dann getchar
und putchar
wird effizienter sein, da die printf
und scanf
Varianten müssen wird die Zeichenfolge jedes Mal analysieren, um zu bestimmen, wie Sie Ihre Anfrage zu bearbeiten. Außerdem können sie in einer unteren Ebene Bibliothek aufgerufen werden das heißt, Sie können nicht die printf
/ scanf
verbunden haben müssen, wenn sie nicht an anderer Stelle benötigt werden.