通俗的说%m.n中m标示宽度,n标示小数点后显示几位。你的就是显示5个宽度,其中显示2位小数。
如果你想了解详细和根本的,看下面的(来自百度文库):
int printf(const char *format,[argument])
format 参数输出的格式,定义格式为:%[flags][width][.perc][F|N|h|l]type
2.flags 规定输出格式,取值和含义如下:
无 右对齐,左边填充0和空格
- 左对齐,右边填充空格
+ 在数字前增加符号 + 或 -
0 将输出的前面补上0,直到占满指定列宽为止(不可以搭配使用-)
空格 输出值为正时冠以空格,为负时冠以负号
# 当type=c,s,d,i,u时没有影响
type=o,x,X时,分别在数值前增加'0',"0x","0X"
type=e,E,f时,总是使用小数点
type=g,G时,除了数值为0外总是显示小数点
3.width 用于控制显示数值的宽度,取值和含义如下
n(n=1,2,3...) 宽度至少为n位,不够以空格填充
0n(n=1,2,3...) 宽度至少为n位,不够左边以0填充
* 格式列表中,下一个参数还是width
4.prec 用于控制小数点后面的位数,取值和含义如下:
无 按缺省精度显示
0 当type=d,i,o,u,x时,没有影响
type=e,E,f时,不显示小数点
n(n=1,2,3...) 当type=e,E,f时表示的最大小数位数
type=其他,表示显示的最大宽度
.* 格式列表中,下一个参数还是width
希望有用。
二进制的数据中只有0和1的存在,一个十进制数也可以用二进制表示布尔运算中规定,0为假,非0为真
可以自己用if条件去实验
这个也是条件布尔运算,如果a>0,那么这个里面就代表真非0,否则条件不成立,那么就是假,0