Es getchar () equivalente a scanf ( “% c”) y putchar () equivalente a printf ( “% c”)?

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

  •  21-09-2019
  •  | 
  •  

Pregunta

Es equivalente a a = getchar() scanf("%c",&a);?

Es equivalente a putchar(a) printf("%c",a); donde a es una variable char?

¿Fue útil?

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.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top