Especificadores de Formato en C: Domina printf y scanf

Clasificado en Informática

Escrito el en español con un tamaño de 3,7 KB

La Función printf

Esta función se utiliza para escribir datos con formato en la salida estándar (normalmente la pantalla).

Especificadores de Formato para printf

Los especificadores de formato indican el tipo de dato que se va a imprimir.

  • %h: para un tipo de dato short.
  • %u: para un unsigned int.
  • %d, %i: para enteros decimales.
  • %ld: para un long int.
  • %f: para un número real en notación decimal.
  • %c: para un carácter.
  • %s: para una cadena de caracteres.
  • %o: para un entero en formato octal.
  • %x: para un entero en formato hexadecimal.
  • %e: para un número real con notación científica.
  • %g: funciona como %e o %f según el valor.
  • %p: para un puntero (dirección de memoria).
  • %%: para escribir el símbolo de porcentaje (%).

Valor de Retorno

Retorna el número de caracteres que se han escrito en pantalla si ha habido éxito. Si ocurre un error, retorna la constante EOF.

Modificadores de Formato

Los formatos de impresión disponen de modificadores que permiten especificar la longitud del campo, el número de cifras decimales o si el texto se justifica a la izquierda o a la derecha.

Ejemplos de modificadores

La sintaxis general es %[modificador]letra.

  • %5d: Especifica que el campo de impresión tendrá un ancho de 5 caracteres. Si el número es más corto, se rellenará con espacios a la izquierda.
  • %-5d: Hace lo mismo que el anterior, pero el signo menos (-) justifica el contenido a la izquierda.

Para números reales

Se utiliza el formato %N.Mletra.

Ejemplo: %8.2f

  • El primer número (8) marca el tamaño total del campo.
  • El segundo número (2) indica la cantidad de cifras decimales que se visualizarán.

Código de ejemplo:

printf("%8.2f", 123.456);

La Función scanf

La declaración de la función es: int scanf(const char* cadena, ...);

Se utiliza para leer desde la entrada estándar (generalmente el teclado) y cargar datos en variables según un formato específico. La cadena de formato está formada por tres tipos de caracteres:

  1. Especificadores de formato: con ellos indicamos el tipo de dato que vamos a cargar.
  2. Espacios en blanco.
  3. Otros caracteres.

Especificadores de Formato para scanf

  • %c: para un carácter.
  • %d o %i: para un entero decimal.
  • %e o %f: para un número real.
  • %h: para un entero corto (short).
  • %x: para un entero hexadecimal.
  • %s: para una cadena de caracteres.
  • %p: para un puntero o dirección de memoria.

Uso de Parámetros

Por cada especificador de formato en la cadena, debe haber un argumento correspondiente que sea la dirección de memoria (un puntero) de una variable del tipo de dato adecuado donde se almacenará el valor leído.

Valor de Retorno

El valor de retorno de la función es el número de campos que se han procesado y asignado con éxito.

Entradas relacionadas: