Especificadores de formato en C

Los especificadores de formato definen el tipo de datos que se imprimirán en la salida estándar. Necesita usar especificadores de formato ya sea que esté imprimiendo una salida formateada con printf()o aceptando una entrada con scanf().

Algunos de los especificadores de% que puede usar en ANSI C son los siguientes:

Especificador Usado para
%C un solo personaje
% s una cuerda
%Hola corto (firmado)
% hu corto (sin firmar)
% Lf doble largo
%norte no imprime nada
%re un entero decimal (asume base 10)
%yo un entero decimal (detecta la base automáticamente)
% o un entero octal (base 8)
%X un entero hexadecimal (base 16)
%pags una dirección (o puntero)
%F un número de coma flotante para flotadores
% u int decimal sin signo
%mi un número de punto flotante en notación científica
%MI un número de punto flotante en notación científica
%% el símbolo

Ejemplos:

%c especificador de formato de un solo carácter:

#include  int main() { char first_ch = 'f'; printf("%c\n", first_ch); return 0; } 

Salida:

f

%s especificador de formato de cadena:

#include  int main() { char str[] = "freeCodeCamp"; printf("%s\n", str); return 0; } 

Salida:

freeCodeCamp

Entrada de caracteres con el %cespecificador de formato:

#include  int main() { char user_ch; scanf("%c", &user_ch); // user inputs Y printf("%c\n", user_ch); return 0; } 

Salida:

Y

Entrada de cadena con el %sespecificador de formato:

#include  int main() { char user_str[20]; scanf("%s", user_str); // user inputs fCC printf("%s\n", user_str); return 0; } 

Salida:

fCC

%dy %iespecificadores de formato de entero decimal:

#include  int main() { int found = 2015, curr = 2020; printf("%d\n", found); printf("%i\n", curr); return 0; } 

Salida:

2015 2020

%fy %eespecificadores de formato de número de coma flotante:

#include  int main() { float num = 19.99; printf("%f\n", num); printf("%e\n", num); return 0; }

Salida:

19.990000 1.999000e+01

%o especificador de formato entero octal:

#include  int main() { int num = 31; printf("%o\n", num); return 0; }

Salida:

37

%x especificador de formato de entero hexadecimal:

#include  int main() { int c = 28; printf("%x\n", c); return 0; } 

Salida:

1c