C语言-格式输入输出中“%d,%o,%x,%e,%f,%s,%p”
格式说明总是由“%”字符开始的,不同类型的数据用不同的格式字符。 格式字符有d,o,x,u,c,s,f,e,g,p等。

1.转换说明

%d整型输出,%md,m为指定的输出字段的宽度,%ld长整型输出。

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

%u以十进制数输出unsigned型数据(无符号数)。

%o以八进制数形式输出整数。

%x以十六进制数形式输出整数。

%c用来输出一个字符。

%s用来输出一个字符串。

%f用来输出实数,以小数形式输出,默认情况下保留小数点6位。

%e以指数形式输出实数。

%g根据大小自动选f格式或e格式,且不输出无意义的零。

%p用于变量地址的输出。

%% "%"

%a(%A) 浮点数、十六进制数字和p-(P-)记数法(C99)

scanf("%d%c%s",&a,&b,str);

printf("%d%c",a,b);

2.标志-五种标志 (-、+、空格、# 和0)

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

例如:”%-20s”

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

例如:”%+6.2f”

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

例如:”% 6.2f”

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

例如:“%#o”、“%#8.0f”和“%+#10.3E”

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

3.格式字符串(格式)

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

"%-md" :左对齐,若m比实际少时,按实际输出。

"%m.ns":输出m位,取字符串(左起)n位,左补空格,当n>m or m省略时m=n

e.g. "%7.2s" 输入CHINA

输出" CH"

"%m.nf":输出浮点数,m为宽度,n为小数点右边数位
e.g. "%3.1f" 输入3852.99

输出3853.0

长度:为h短整形量,l为长整形量

最后修改:2022 年 09 月 17 日
如果觉得我的文章对你有用,只需评论或转发支持,谢绝投喂!