c语言中printf()函数的转换说明修饰符

1、

#include <stdio.h>

#define TEST 58  //符号常量or对象式宏

int main(void)
{
    printf("|%d|
", TEST); 
    printf("|%5d|
", TEST); //5表示宽度
    printf("|%-5d|
", TEST);  //-表示左对齐
    printf("|%05d|
", TEST);  //0表示用0填充
    printf("|%+5d|
", TEST);  //+表示显示符号
    
    return 0;
}

2、

#include <stdio.h>

int main(void)
{
    double test = 39.342;
    
    printf("|%f|
", test);
    printf("|%e|
", test);  //科学计数法表示
    printf("|%.2f|
", test);  // 保留两位小数
    printf("|%5.2f|
", test);  // 指定宽度为5,保留两位小数
    printf("|%10.2f|
", test);  // 指定宽度为10, 保留两位小数
    printf("|%010.2f|
", test);  // 指定宽度为10,保留两位小数, 多余位数用0填充
    printf("|%+10.2f|
", test);  // 指定宽度为10,保留两位小数,显示符号
    
    return 0;
}

3、

#include <stdio.h>

int main(void)
{
    int num = 100;
    
    printf("decimal: %d.

", num);
    
    printf("octal: %o.
", num);
    printf("octal: %#o.

", num);  // 显式说明为8进制
    
    printf("hexadecimal: %x
", num);
    printf("hexadecimal: %#x
", num);  // 显式说明为16进制
        
    return 0;
}

4、

#include <stdio.h>

int main(void)
{
    int a = 34;
    int b = -34;
    
    printf("a: |%d|
", a);
    printf("b: |%d|

", b);
    
    printf("a: |% d|
", a);
    printf("b: |% d|
", b);
    
    return 0;
}

5、

#include <stdio.h>

int main(void)
{
    int a = 8;
    
    printf("a: |%5d|
", a);
    printf("a: |%5.3d|
", a);  //宽度为5,显示3位,位数不够用0填充
    printf("a: |%05d|
", a);   //宽度为5,宽度不够则用0填充
    printf("a: |%05.3d|
", a); //宽度为5,显示3位
    
    return 0;
}

6、

#include <stdio.h>


int main(void)
{
    char test[128] = "abcdefg";
    
    printf("test: |%s|
", test);
    printf("test: |%10s|
", test); //宽度为10
    printf("test: |%10.3s|
", test); //宽度为10,显示3位
    printf("test: |%-10.3s|
", test); // 宽度为10,显示3位,左对齐
    
    return 0;
}

原文地址:https://www.cnblogs.com/liujiaxin2018/p/15113212.html