Formato de resultado de salida de la función printf () en lenguaje C explicación detallada

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.

Supongo que te gusta

Origin blog.csdn.net/kyc592/article/details/111536596
Recomendado
Clasificación