Ist getchar () entspricht scanf ( „% c“) und putchar () entspricht printf ( „% c“)?

StackOverflow https://stackoverflow.com/questions/2482634

  •  21-09-2019
  •  | 
  •  

Frage

Ist a = getchar() entspricht scanf("%c",&a);?

Ist putchar(a) entspricht printf("%c",a); wo a eine char Variable?

War es hilfreich?

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.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top