UC3M

Grado en Ing. Telemática/Sist. Audiovisuales/Sist. de Comunicaciones

Arquitectura de Sistemas

Septiembre 2017 - Enero 2018

8.2.2. La función 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.