printf格式化函数的使用

转自http://baike.baidu.com/view/410546.htm

#include<stdio.h>

原型:extern void printf(const char *format,...);
通常意义上format的格式如下:
%[flags][width][.prec][F|N|h|l]type
其中type常用是d,s
type的字符用于规定输出数据的类型,含义如下:
字符 对应数据类型 含义
d / i int 接受整数值并将它表示为有符号的十进制整数,i是老式写法
o unsigned int 无符号8进制整数(不输出前缀0)
u unsigned int 无符号10进制整数
x / X unsigned int 无符号16进制整数,x对应的是abcdef,X对应的是ABCDEF(不输出前缀0x)
f(lf) float(double) 单精度浮点数用f,双精度浮点数用lf(尤其scanf不能混用)
e / E double 科学计数法表示的数,此处"e"的大小写代表在输出时用的“e”的大小写
g / G double 使用以上两种中最短的形式,大小写的使用同%e和%E
c char 字符型。可以把输入的数字按照ASCII码相应转换为对应的字符
s / S char * / wchar_t * 字符串。输出字符串中的字符直至字符串中的空字符(字符串以'\0‘结尾,这个'\0'即空字符)
p void * 以16进制形式输出指针
n int * 到此字符之前为止,一共输出的字符个数,不输出文本
% 无输入 不进行转换,输出字符‘%’(百分号)本身

注:%g、%G在小数点位数四位或指数大于等于精度时用%e、%E,否则用%f。
flags 规定输出样式,取值和含义如下:
字符 字符名称 说明
- 减号 左对齐,右边填充空格(默认右对齐)
+ 加号 在数字前增加符号 + 或 -
0 数字零 将输出的前面补上0,直到占满指定列宽为止(不可以搭配使用“-”)

prec
用于控制小数点后面的位数,取值和含义如下:
无按缺省精度显示0
当type=d,i,o,u,x时,没有影响;
type=e,E,f时,不显示小数点
n(n=1,2,3...)
当type=e,E,f时表示的最大小数位数

%lld则为long long int(C99),与f搭配为%llf则为long double(C99)

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值