printf
type
含义如下:
字符 | 输入数据类型 | 含义 |
d、i | int | 有符号10进制数,i是老式写法 |
o | unsigned int | 无符号8进制数 |
u | unsigned int | 无符号10进制数 |
x、X | unsigned int | 无符号16进制数,x用abcdef,X用ABCDEF表示10~16的数 |
f | double | 小数 |
e、E | double |
科学计数法表示的数,大小写代表用的“e”的大小写
|
g、G | double | 使用以上两种中最短的形式,大小写的使用同%e和%G |
c | char | 把输入的数字转换为对应的字符 |
s、S | char *、wchar_t * | 字符串 |
p | void * | 以16进制形式输出指针 |
n | int * | 到此字符之前为止,一共输出的字符个数,不输出文本 |
% | 不输入 | 输出字符“%”本身 |
注:%g、%G在小数点位数四位或指数大于等于精度时用%e、%E,否则用%f。
flags
规定输出格式,取值和含义如下:
字符 | 名称 | 说明 |
空白 | 右对齐,左边填充0和空格 | |
- | 减号 | 左对齐,右边填充空格 |
+
| 加号 | 在数字前增加符号 + 或 - |
0 | 数字零 | 将输出的前面补上0,直到占满指定列宽为止(不可以搭配使用“-”) |
空格 | 输出值为正时加上空格,为负时加上负号 | |
# | 井号 | type是o、x、X时,增加前缀0、0x、0X |
type是e、E、f、g、G时,一定使用小数点 | ||
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]);
以上形式,我们在Visual C++里输入“printf(”将会看到。
说明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);
以上程序将会输出: