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 %c
especificador 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 %s
especificador 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
%d
y %i
especificadores 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
%f
y %e
especificadores 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