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
    
    
  • 相关阅读:
    unexpected inconsistency;run fsck manually esxi断电后虚拟机启动故障
    centos 安装mysql 5.7
    centos 7 卸载mysql
    centos7 在线安装mysql5.6,客户端远程连接mysql
    ubuntu 14.04配置ip和dns
    centos7 上搭建mqtt服务
    windows eclipse IDE打开当前类所在文件路径
    git 在非空文件夹clone新项目
    eclipse中java build path下 allow output folders for source folders 无法勾选,该如何解决 eclipse中java build path下 allow output folders for source folders 无法勾选,
    Eclipse Kepler中配置JadClipse
  • 原文地址:https://www.cnblogs.com/standardzero/p/12552762.html
Copyright © 2011-2022 走看看