Primero resuma los diversos caracteres de control de formato
% d : Salida según la longitud real de los datos enteros.
% ld : Salida de datos enteros largos.
% f : se utiliza para generar números reales, incluida precisión simple y precisión doble, salida en forma decimal. El sistema tiene por defecto la salida de toda la parte entera y la parte decimal a 6 dígitos, redondeando más de 6 dígitos.
(Aquí hay un tema fuera de tema, recuerde usar% lf para la entrada de datos de tipo doble y% f para la salida, y% f para entrada y salida de tipo float.)
% O : salida como un entero octal.
% s : se utiliza para generar cadenas de caracteres.
% x (o% X o% # x o% # X) : números enteros de salida en forma hexadecimal. Para conocer las diferencias específicas, consulte el suplemento al final del artículo ↓
①¿Cómo alinear los datos de salida a la derecha?
% md : Solo es necesario agregar un número m entre los caracteres de control de formato para especificar el ancho del campo de salida.
#include <stdio.h>
int main(void)
{
int n1 = 7;
int n2 = 777;
int n3 = 7777777;
printf("%8d\n", n1);
printf("%8d\n", n2);
printf("%8d\n", n3);
return 0;
}
运行结果为:
7
777
7777777
②¿Cómo alinear los datos de salida a la derecha y llenar los bits vacíos con 0?
% 0md : especifique el ancho del campo de salida más un 0 antes del número m.
#include <stdio.h>
int main(void)
{
int n1 = 7;
int n2 = 777;
int n3 = 7777777;
printf("%8d\n", n1);
printf("%8d\n", n2);
printf("%8d\n", n3);
return 0;
}
运行结果为:
00000007
00000777
07777777
③¿Cómo controlar el número de posiciones decimales de los números de coma flotante?
% .nf : especifique el número de posiciones decimales para generar como n, y el último dígito se redondea.
#include <stdio.h>
int main(void)
{
float n1 = 7;
float n2 = 7.7777;
float n3 = 77.77777;
printf("%8f\n", n1); //小数点占一位,小数部分也占位
printf("%.3f\n", n2);
printf("%08.3f\n", n3);
return 0;
}
运行结果为:
7.000000
7.778
0077.778
↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓
↓↓↓↓↓↓↓↓↓↓↓↓↓ ↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓
Conocimiento adicional del símbolo de control de salida hexadecimal de salida:
#include <stdio.h>
int main(void)
{
int i = 77;
printf("%x\n", i); //%小写的x
printf("%X\n", i); //%大写的X
printf("%#x\n", i); //#小写的x
printf("%#X\n", i); //#大写的X
return 0;
}
运行结果为:
2f
2F
0x2f
0X2F
Se puede ver en el resultado de salida:
si es una x minúscula, la letra de salida es minúscula; si es una X mayúscula, la letra de salida es mayúscula; si agrega un #, se emitirá en formato hexadecimal estándar.