Es getchar () equivalente a scanf ( “% c”) y putchar () equivalente a printf ( “% c”)?
Pregunta
Es equivalente a a = getchar()
scanf("%c",&a);
?
Es equivalente a putchar(a)
printf("%c",a);
donde a
es una variable char
?
Solución
En términos generales sí que son lo mismo.
Pero no son de varias maneras nitpicky. El getchar
función se escribe para volver int
y no char
. Esto se hace para que ambos puedan getchar
todos los posibles valores char
y, además, los códigos de error.
Así, mientras que los siguientes felizmente compila en la mayoría de los compiladores que son esencialmente de distancia truncar un mensaje de error
char c = getchar();
El scanf
función, sin embargo, le permite utilizar un tipo char
directa y se separa el código de error en el valor de retorno.
Otros consejos
Lo hacen lo mismo aquí. Sin embargo, si usted sabe que simplemente está haciendo personajes continuación getchar
y putchar
será más eficiente, ya que las variantes printf
y scanf
tendrán que analizar la cadena cada vez para saber cómo procesar su solicitud. Además, se les puede llamar en una biblioteca de nivel inferior lo que significa que no tenga que tener el printf
/ scanf
vinculado si no son necesarios en otros lugares.