格式控制符的意义和用法

意义

  • %a:浮点数、十六进制数字和p-记数法(C99)
  • %c:单个字符(char)
  • %d:有符号的十进制整数(int)
    • %md:m为指定输出字符的宽度。如果数据位数小于m,则左端补空格;如果位数大于m,则按实际位数输出。
    • %ld:长整型数据
    • %hd:短整型数据
  • %e或%E=%f:输入与%f相同,输出时输出指数形式
  • %f:单精度浮点数(float默认),整数部分全部输出,小数输出6位
    • %.nf:这里的n表示精确到小数点后n位;输入可以用小数形式或指数形式
    • %m.nf:输出的数据共占m列,其中有n位小数;如果数值长度小于m,则左补空格。
    • %-m.nf:输出的数据共占m列,其中有n位小数;如果数值长度小于m,则右补空格。
    • %lf:双精度数据类型
  • %g=%f:根据数值不同自动选择%f或%e,删除小数点后面空余的0;不能用于int
  • %i=%d
  • %o:无符号八进制整数
  • %p:指针
  • %s:字符串;将字符串送到一个字符数组中。在输入时以非空白字符开始,以第一个空白字符结束,字符串以串结束标志'\0'作为其最后字符
    • %ms:输出的字符占m列。如果字符串长度大于m,则全部输出;如果小于m,则左补空格。
    • %-ms:如果字符串长度小于m,则字符串向左对齐,右补空格。
    • %m.ns:输出占m列,但只取字符串左端n个字符,这n个字符向右对齐,左补空格。
    • %-m.ns:输出占m列,但只取字符串左端n个字符,这n个字符向左对齐,右补空格,如果n>m,则m自动取n值,即保证n个字符正常输出。
  • %u:无符号(正负)的十进制整数
  • %x或%X:使用十六进制数字0f的无符号十六进制整数,%x小写字母输出,%X大写字母输出
  • %I64d:用于INT64或long long
  • %I64u:用于UINT64或unsigned long long
  • %I64x:用于64位十六进制数据

特殊用法

  1. %:引导符,不可或缺
  2. -:存在代表左对齐输出,没有默认右对齐输出
  3. 0:存在代表空位填0,没有默认空位不填
  4. m.n:m指域宽,即对应的输出项在输出设备上所占的字符数;n指精度,用于说明输出的实型的小数位数,默认精度为n=6位
  5. l或h:l对于整型指long型,对于实型指double型;h可以把整型的格式字符修正为短整型
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容