C连载18-转换说明,转换说明修饰符、sizeof返回类型可移植

一、printf()函数

  • 常用的转换说明
转换说明输出
%a浮点数,十六进制数和p计数法
%A浮点数,十六进制数和p计数法
%c单个字符
%d有符号的十进制数
%e浮点数,e计数法
%E浮点数,e计数法
%f浮点数,十进制计数法
%g根据值的不同,自动选择%f或者%e,%e格式用于指数小于-4或者大于或等于精度时
%G根据值的不同,自动选择%f或者%E,%E格式用于指数小于-4或者大于或等于精度时
%i有符号的十进制整数
%o无符号的八进制数
%p指针
%s字符串
%u无符号的十进制数
%x无符号十六进制整数,使用十六进制数0f
%X无符号十六进制整数,使用十六进制数0F
%%打印一个%号
  • printf()的转换说明修饰符
修饰符含义
标记五种标记(-、+、空格、#和0),可以不使用标记或者使用多个标记,示例:"%-10d"
数字最小字段宽度,如果该字段不能容纳待打印的数字或者字符串,系统会使用更宽的字段,示例:"%4d"
.数字精度,对于%e,%E和%f转换,表示小数点右边数字的位数;对于%g和%G转换,表示有效数字的最大位数;对于%s转换,表示待打印字符的最大数量;对于整形装欢,表示待打印数字的最小位数;如果有必要,使用前导0来达到这个位数;只使用.表示其后跟随一个0,所以%.f和%.0f相同;示例:"%5.2f"打印一个浮点数,字段宽度为5字符,其中小数点后有两位数字
h和整形转换说明一起使用,表示short int或者unsigned short int类型的值,示例:"%hu","%hx",“6.4hd”
hh和整形转换说明一起使用,表示signed char或unsigned char类型的值。示例:"%hhu","%hhx","%hh6.4hhd"
j和整形转化一起使用,表示intmax_t或者uintmax_t类型的值,这些类型定义在stdint.h中,示例:"%jd",“8jx”
l和整形转换说明一起使用,表示long int或则和unsigned long int类型的值,示例:"%ld","%8lu"
ll和整形转换说明一起使用,表示long long int 或unsigned long long int类型的值,示例:"%lld","%8llu"
L和浮点转换说明一起使用,表示long double类型的值,示例:"%Lf",“10.4Le”
t和整形转换说明一起使用,表示ptrdiff_t类型的值,ptrdiff_t是两个指针差值的类型,示例:"%td","%12ti"
z和整形转换说明一起使用,表示size_t类型的值,size_t是sizeof返回的类型,示例:"%zd","%12zd"
  • 类型的可移植性,从上表的最后两行可以看到,sizeof是一个运算符,当返回计算结果的时候,必然是无符号的整形,可能为unsigned int,unsigned long,unsigned long long,所以不同的系统,可能返回值不一样,因此定义了size_t类型的来表示sizeof返回的类型,这种被称为底层类型。倒数第二行也是同理。
  • 对于浮点类型,只有double和long double类型的转换说明(%f,%lf),但是打印float的时候也可以那两个转换,这是因为C自动转换为double了。

二、源码:

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值