C printf
强大的功能,但是有些细节需要~
eg.
char *s="123";
printf("%4d",s);则会显示 123,前面会有一个空格,默认右对齐,所以如果想左对齐printf("%-4d",s);则会显示123 右边有一个空格,也就是左对齐。
--------------------------------lovely line-------------------------------
printf("%2",s);则会默认显示123不会显示两位,如果你想显示前两位,可以
printf("%2.2",s);这样就可以了
printf("%2.3",s);会显示2-3个字符,并不会显示超出范围的字符
float test=12.0001;
printf("%2.2f",test)--->result:12.00 equls printf(".2f",test);
printf("%.1f",test) 12.0 ---->printf("%.0f") 不打印小数点
--------------------------------lovely line-------------------------------
i,d 有符号10进制整数
o 无符号8进制整数
u 无符号10进制整数
x 无符号的16进制数字,并以小写abcdef表示
X 无符号的16进制数字,并以大写ABCDEF表示
f 浮点数
E/e 用科学表示格式的浮点数
g 使用%f和%e表示中的总的位数表示最短的来表示浮点数 G 同g格式,但表示为指数
c 单个字符
s 字符串
--------------------------------lovely line-------------------------------
今天在遍bash的时候还学会的一个细节,但是在C中使用是不行的
int i=1;
printf(“%09”,i);
result is :000000001;
非常的有用哦
如果使用printf("%9d",i);则会显示出8个空格