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”
+ 有符号的值若为正,则显⽰带加号的符号:若为负,则带减号的符号scanf返回值被忽略是怎么回事
例如:”%+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
< "%7.2s" 输⼊CHINA
输出" CH"
"%m.nf":输出浮点数,m为宽度,n为⼩数点右边数位
< "%3.1f" 输⼊3852.99
输出3853.0 长度:为h短整形量,l为长整形量
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论