首先直接描述printf函数中的“格式描述串”,它是由一系列的“格式转换说明符号”组成,格式转换说明符号的描述形式如下:
%[+][-] 0 m[n][输出精度]<形式字母>
(1)形式字母:制定输出格式,如表
d:十进制整型数
i:十进制整型数
x:十六进制整型数
o:八进制整形数
u:无符号十进制整形数
c:单个字符
s:字符串
e:指数形式的浮点数
f:小数形式的浮点数
g:e 和 f 中比较短的一种
p:显示变量所在的内在地址
n:它不是向printf()传递格式化信息,而是令printf()把自己已经输出的字符总数放到相应的整形变量中
举例:
int i;
printf("hello%n",&i);
此时i的值为5.
(2):输出精度如果形式字母是d,x,o.u,则可以指定如下两类精度
l:long型输出精度
h:short型输出精度
默认时为int型精度
如:long x=123454578;printf("%d",x);
如果形式字母为e,f,g的时候,则指定l的 时候为double精度,不指定为float精度;
(3):m[.n]指定输出长度,如果输出的是实例,则m表示该项输出占用字符位置的总长度,n表示小数部分的字符长度,如float x=4.56;printf("%7.4f",x);
(4)0:指定不被使用的空位置填写0,入股不指定使用0,则不使用的位置为空白.该项仅仅对数值输出时才可以指定,对字符串输出不用指定.例如int x=234;printf("%05d",x);//00234printf("%5d",x);//**234
(5)[+][-]:指定输出位置,如果指定+或者缺省时为右对齐,如果为"-"的时候为左对齐;