字符 | 对应数据类型 | 含义 |
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 * | 到此字符以前为止,一共输出的字符个数,不输出文本 |
%
|
无输入 | 不进行转换,输出字符‘%’(百分号)自己 |
字符
|
字符名称 | 说明 |
- | 减号 | 左对齐,右边填充空格(默认右对齐) |
+
|
加号 | 在数字前增长符号 + 或 - |
0
|
数字零 | 将输出的前面补上0,直到占满指定列宽为止(不能够搭配使用“-”) |
空格 | 输出值为正时加上空格,为负时加上负号 | |
#
|
井号 |
type是o、x、X时,增长前缀0、0x、0X
type是e、E、f、g、G时,必定使用小数点
type是g、G时,尾部的0保留
|
可是有时候咱们须要表示一个时间,如12:00:12;spa
可是若是咱们用%2d的话,就会变成12:0:12,那怎么办呢?指针
怎么默认用0填充?答案是%02d,简单吧。htm