C语言输出函数printf("%AB", v);

来源:互联网 发布:iphone 没有4g网络 编辑:程序博客网 时间:2024/06/16 19:51


此函数一般形式为:

printf("%AB", v);



1、其中B表示各种数据类型
B可以是【整数】:
%d  (十进制) ——int,  short
%x  (十六进制)
%o  (八进制)
%u  (无符号十进制) ——unsigned int(int可以省略)

可以扩展为如下数据类型:
%Ld (长十进制) ——long int(int可以省略)
%LLd(长长十进制) ——long long int(int可以省略)
%Lu (长无符号十进制) ——unsigned long int(int可以省略)
……


    B也可以是【浮点数】:
%f ——float,  double
%Lf ——long double
%e  (指数形式)
……


B还可以是【其他类型】:
%c  (字符类型) ——char,  '.'(字符常量)
%s  (字符串类型) ——char[](字符数组),  "..."(字符串常量)
……


2、其中A表示细节性修饰符
A大多情况可以是这样的结构"m.n":
m: 表示输出宽度,或缺的用"空格"补全(可以省略,为 .n)
n: 如果是浮点数则表示小数点后的保留位数
  如果是非浮点数就表示输出的有效位数,或缺的用"0"补全



最后,AB的组合将会出现你想要的结果:
例如:
long double n1 = 2.71828;
float n2 = 1.48;
unsigned int n3 = 12;
printf("[%9.4Lf]\n[%.3f]\n[%6.5u]\n", n1, n2, n3);

输出结果:
[   2.7183] // 位数多余则"四舍五入"
[1.480] // 位数不足则在后面补"0"(有些版本不一定补"0",可能是随机数字)
[ 00012]



完~~~。



原创粉丝点击