Problema de salida de tipo int en lenguaje C
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