getchar
La función getchar
es equivalente a la
función getc(stdin)
.
#include <stdio.h> int getchar(void);
Aquí void
indica que no se necesita ningún
argumento para llamar a la función, pues entiende que leeremos el caracter
desde la entrada estándar.
El siguiente programa lee dos caracteres introducidos por el usuario desde el teclado, de las dos formas posibles vistas hasta ahora, y luego los imprime en la pantalla:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 | #include <stdio.h> int main(void) { int caracter1; char caracter2; printf("Por favor, teclea dos caracteres seguidos:\n"); caracter1 = getc(stdin); caracter2 = getchar(); printf("El primer caracter que has introducido es: %c\n",caracter1); printf("El segundo caracter que has introducido es: %c\n",caracter2); return 0; } |
Como puedes ver, pese a que las funciones están esperando
un carácter almacenado como entero, la variable caracter2
se
ha declarado de tipo char
y, aún así, el programa no da error
y funciona. Esto es así porque, internamente, las variables de tipo
char
son almacenadas con su correspondencia numérica, de ahí
que puedan pasarse a estas funciones que esperan un tipo
int
.