当前位置:文档之家› C语言printf函数详解

C语言printf函数详解

功能:
产生格式化输出的函数。

用法:
printf(格式控制字符串,参数1,参数2,…,参数n);
格式控制字符串定义为:
%[flags][width][.perc][F|N|h|l]type
type
d有符号10进制整数
i有符号10进制整数
o无符号8进制整数
u无符号10进制整数
x无符号的16进制数字,并以小写abcdef表示
X无符号的16进制数字,并以大写ABCDEF表示
f浮点数
E/e用科学记数法表示浮点数
g用%f和%e表示中,总的位数最短的来表示浮点数。

G同g格式,但表示为指数
c单个字符
s字符串
S wchar_t字符(宽字符)类型字符串
%显示百分号本身
p显示一个指针,near指针表示为:XXXX,far指针表示为:XXXX:YYYY
n相连参量应是一个指针,其中存放已写字符的个数
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外总是显示小数点。

width:用于控制显示数值的宽度
n(n=1,2,3...)宽度至少为n位,不够以空格填充
0n(n=1,2,3...)宽度至少为n位,不够左边以0填充
*格式列表中,下一个参数还是width
prec:用于控制小数点后面的位数
无按缺省精度显示
0当type=d,i,o,u,x时,没有影响;当type=e,E,f时,不显示小数点
n(n=1,2,3...)当type=e,E,f时,表示的最大小数位数
type=其他表示显示的最大宽度
.*格式列表中,下一个参数还是width
F|N|h|l
F远指针
n近指针
h短整数或单精度浮点数
l长整数或双精度浮点数
函数返回值:
printf函数的一般形式为:
int printf(const char *format,[argument]);
说明printf函数类型为整型,其返回值是整型值。

其值实际为printf控制输出的字符数。

例如:
int a,b;
a=printf("gelin\n"); //a的值为6
b=printf("the value of printf is:%d",a); //b的值为24
printf("\n%d\n",b);
以上程序将会输出:
程序举例:
例一
#define C "gelin"
int main(void)
{
int a=12345;。

相关主题