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个空格
 
posted @ 2012-10-08 13:55  Epirus  阅读(644)  评论(0编辑  收藏  举报