printf()函数

转换说明符及作为结果的打印输出

转换说明

输出

%a

浮点数、十六进制数字和p-计数法(C99)

%A

浮点数、十六进制数字和p-计数法(C99)

%c

一个字符

%d

有符号十进制整数

%e

浮点数、e-计数法

%E

浮点数、E-计数法

%f

浮点数、十进制计数法

%g

根据数值不同自动选择%f%e%e格式在指数小于-4或者>=精度时使用

%G

根据数值不同自动选择%f%E%E格式在指数小于-4或者>=精度时使用

%i

有符号十进制整数(与%d相同)

%o

无符号八进制整数

%p

指针

%s

字符串

%u

无符号十进制整数

%x

使用十六进制数字0f的无符号十六进制整数

%X

使用十六进制数字0F的无符号十六进制整数

%%

打印一个百分号

 

 

printf()标志

标志

意义

-

项目是左对齐的;也就是说,会把项目打印在字段的左侧开始处

示例:“%-20s

+

有符号的值若为正,则显示带加号的符号;若为负,则显示带减号的符号

示例:“%+6.2f

(空格)

有符号的值若为正,则显示时带前导空格(但是不显示符号);若为负,则显示带减号的符号。+标志会覆盖空格标志

示例:“% 6.2f”(注:%6之间有个空格号)

#

使用转换说明的可选形式。若为%o格式,则以0开始;若为%x%X格式,则以0x0X开始。对于所有的浮点形式,#保证了即使不跟任何数字,也打印一个小数点字符。对于%g%G格式,他防止尾随零被删除

示例:“%#o”,“%#8.0f”,“%+#10.3E

0

对于所有的数字格式,用前导零而不是空格填充字段宽度。如果出现-标志或者指定了精度(对于整数)则忽略该标志

示例:“%010d”“%08.3f

 

 

 

printf()修饰符

标志

五种标志(上面那个表格),可以使用零个或多个标志

示例:“%-10d

修饰符

意义

digit(s)

字段宽度的最小值。如果该字段不能容纳要打印的数或者字符串,系统就会使用更宽的字段

示例:“%4d

.digit(s)

精度。对于%e%E%f转换,是将要在小数点的右边打印的数字的位数。对于%g%G转换,是有效数字的最大位数。对于%s转换,是将要打印的字符的最大数目。对于整数转换,是将要打印的数字的最小位数;如果必要,要使用前导零来达到这个位数。只使用“.”表示其后跟随一个零,所以%.f%0.f相同

示例:“%5.2f”打印一个浮点数,他的字段宽度为5个字符,小数点后有两个数字

h

和整数转换说明符一起使用,表示一个shrot intunsigned shrot int类型数值

示例:“%hu”、“%hx”和“%6.4hd

hh

和整数转换说明符一起使用,表示一个signedcharunsigned char类型数值

示例:“%hhu”、“%hhx”和“%6.4hhd

j

和整数转换说明符一起使用,表示一个intmax_tuintmax_t

示例:“%jd”和“%8jX

l

和整数转换说明符一起使用,表示一个long intunsigned long int类型值

示例:“%ld”和“%8lu

ll

和整数转换说明符一起使用,表示一个long long intunsigned long long int类型值

示例:“%lld”和“%8llu

L

和浮点转换说明符一起使用,表示一个long double

示例:“%Lf”和“%10.4Le

t

和整数转换说明符一起使用,表示一个ptrdiff_t值(与两个指针之间的差相对应的类型)

示例:“%td”和“%12ti

z

和整数转换说明符一起使用,表示一个size_t值(sizeof返回的类型)

示例:“%zd”和“%12zx

 

printf()函数有一个返回值,他返回所打印的字符的数目,如果有输出错误,那么会返回一个负数。

 

 

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值