Problema de salida de tipo int en lenguaje C

5.2 5 significa que el ancho es de al menos 5 dígitos, no es suficiente para llenarlo con espacios. Si hay más de 5 dígitos, genere 2 para representar el número máximo de dígitos según el ancho real.

Espero que el siguiente contenido te sea de utilidad.

int printf(const char *format, [argumento]);

Formato de salida del parámetro, definido como:

[flag][width][. PERC][F | N | h | l] tipo

Especifica el modo de salida de datos de la siguiente manera:

1.type tiene el siguiente significado:

Entero

Los argumentos enteros se convertirán a números decimales con signo.

Los argumentos enteros U se convertirán en números decimales sin signo.

El argumento del número entero o se convertirá en un número octal sin signo.

El argumento entero x se convertirá en un número hexadecimal sin signo y se representará con abcdef en minúscula.

Los argumentos enteros X se convertirán a números hexadecimales sin signo, los números de coma flotante se representarán mediante ABCDEF en mayúsculas.

f Los parámetros de tipo double se convertirán a números decimales y se redondearán a seis decimales.

e Los parámetros de tipo doble se imprimen en forma exponencial, con un dígito antes del punto decimal y seis dígitos después del punto decimal. La parte exponencial está representada por una e minúscula.

E tiene la misma función que e, la única diferencia es que la parte exponente estará representada por una letra E mayúscula.

g Los parámetros de tipo doble se imprimirán automáticamente en el formato f o e. El estándar se determina en función del valor que se va a imprimir y el número establecido de dígitos significativos.

G tiene la misma funcionalidad que g, la única diferencia es que se seleccionará el formato E al imprimir en forma exponencial.

Caracteres y cadenas

Los argumentos enteros C se convertirán en caracteres sin signo y se imprimirán.

sLos argumentos que apuntan a cadenas se generarán palabra por palabra hasta que aparezca un carácter nulo.

pSi el parámetro es un puntero "void *", se mostrará en formato hexadecimal, con el puntero cercano representado como XXXX y el puntero lejano representado como XXXX:YYYY.

Muestra el signo de porcentaje en sí.

El parámetro de n conexión debe ser un puntero que contenga el número de caracteres escritos.

2.flags especifica el formato de salida, con los siguientes valores y significados:

Sin alineación a la derecha, rellenado con ceros y espacios a la izquierda.

-Alinear a la izquierda, rellenar a la derecha con espacios

Agrega un símbolo o - antes del número.

Los espacios sólo muestran el signo de los números negativos.

#Cuando tipo = c, s, d, I, u, no hay ningún efecto.

Escriba=o, X, X, agregue '0', '0x' y '0x' delante del valor respectivamente.

Cuando tipo=e, E, f, siempre se utiliza el punto decimal.

Cuando tipo=g,G, excepto el valor 0, siempre se muestra el punto decimal.

3.width se utiliza para controlar el ancho del valor mostrado. Su valor y significado son los siguientes.

N (n=1, 2, 3...) tiene al menos n bits de ancho, lo cual no es suficiente para llenarlo con espacios.

0n(n=1, 2, 3...) tiene al menos n bits de ancho, lo cual no es suficiente para llenar el lado izquierdo con 0*

En la lista de formatos , siguiente El parámetro sigue siendo ancho

Cuatro..prec se usa para controlar el número de dígitos después del punto decimal. Su valor y significado son los siguientes:

No se muestra debajo de. Precisión predeterminada.

0 Cuando type=d, I, o, u, x, no hay ningún efecto.

Cuando type=e, E, f, no se muestra el punto decimal.

El número máximo de dígitos cuando N(n=1, 2, 3...) escribe = e, e, f.

Tipo= Otro, indicando el ancho máximo de la pantalla.

*

En la lista de formatos, el siguiente parámetro sigue siendo el ancho

5.F|N|h|l indica si el puntero es un puntero lejano o el número entero es largo entero.

fPuntero lejano

Puntero cercano

hEntero corto o número de punto flotante de precisión simple

lEntero largo o número de punto flotante de doble precisión número de punto