zoukankan      html  css  js  c++  java
  • 7. printf宽度控制和精度控制

    一般形式:

    printf("格式控制字符串",输出列表);

    格式控制字符串形式:

    [标志][输出最小宽度][.精度][长度][类型]

    特殊符号使用:*

    printf格式字符串中,与宽度控制和精度控制有关的常量都可以换成变量,方法就是使用一个*代替那个常量,然后在后面提供变量给*

    类型

    d  以十进制形式输出带符号整数(正数不输出符号) 
    o  以八进制形式输出无符号整数(不输出前缀 0) 
    x,X  以十六进制形式输出无符号整数(不输出前缀 Ox) 
    u  以十进制形式输出无符号整数 
    f  以小数形式输出单、双精度实数 
    e,E  以指数形式输出单、双精度实数 
    g,G  以%f 或%e 中较短的输出宽度输出单、双精度实数 
    c  输出单个字符 
    s  输出字符串 
    
    

    标志

    -  结果左对齐,右边填空格 
    -  输出符号(正号或负号) 
    空格  输出值为正时冠以空格,为负时冠以负号 
    #  对 c,s,d,u类无影响;
    对 o 类,在输出时加前缀 o;对 x 类,在输出时加前缀 0x;
    对 e,g,f 类当结果有小数时才给出小数点

    输出位宽

    用十进制整数来表示输出的最少位数。
    若实际位数多于定义的宽度,则按实际位数输出,
    若实际位数少于定义的宽度则补以空格或 0。

    精度

    精度格式符以“.”开头,后跟十进制整数。本项的意义是:
    如果输出数字,则表示小数的位数;
    如果输出的是字符,则表示输出字符的个数;
    若实际位数大于所定义的精度数,则截去超过的部分。 

    长度

    长度格式符为 h,l 两种,
    h 表示按短整型量输出,l 表示按长整型量输出。

    实例

    #include <stdio.h>
    
    
    int main(void) {
        char s[] = "abcdefg";
        int i = 12345;
        double d = 123.45678;
    
    
        printf("%s
    ", s);
        printf("%.*s
    ", 3, s);
        printf("%#.8x
    ", s);
        printf("%#p
    
    ", s);
    
    
        printf("%d
    ", i);
        printf("%*d
    ", 10, i);
        printf("%0*d
    
    ", 10, i);
    
    
        printf("%f
    ", d);
        printf("%.*f
    ", 3, d);
        printf("%20.10f
    ", d);
        printf("%*.*f
    
    ", 20, 10, d);
    
    
        return 0;
    }
    
    

    输出结果

    abcdefg
    abc
    0x456de280
    0x7ffc456de280
    
    
    12345
         12345
    0000012345
    
    
    123.456780
    123.457
          123.4567800000
          123.4567800000
    
    
  • 相关阅读:
    java常用问题排查工具
    一次CMS GC问题排查过程(理解原理+读懂GC日志)
    nginx [alert] 12339#0: 1024 worker_connections are not enough
    netstat Recv-Q和Send-Q
    Use of Recv-Q and Send-Q
    LoadRunner 11 error:Cannot initialize driver dll
    perf + Flame Graph火焰图分析程序性能
    nginx 499状态码
    supervisor管理nginx
    supervisor管理php-fpm
  • 原文地址:https://www.cnblogs.com/standardzero/p/12552762.html
Copyright © 2011-2022 走看看