格式说明符
在printf中会使用 %d 等符号,这些符号称为格式说明符
用于对printf所要打印的内容进行额外的说明
整数类型
%d
:十进制有符号整数(int)%i
:自动识别进制(十进制/八进制/十六进制)%u
:十进制无符号整数(unsigned int)%o
:无符号八进制整数%x
:无符号十六进制整数(小写字母)%X
:无符号十六进制整数(大写字母)
浮点数类型
%f
:十进制浮点数(float/double)%e
:科学计数法(小写e,如1.23e+2
)%E
:科学计数法(大写E,如1.23E+2
)%g
:自动选择%f
或%e
(更简洁的格式)%G
:自动选择%f
或%E
(更简洁的格式)
字符与字符串
%c
:单个字符(char)%s
:字符串(以\0
结尾的字符数组)
指针与特殊类型
%p
:指针地址(十六进制格式)%n
:将已输出的字符数写入变量(不输出内容)
修饰符(配合格式说明符使用)
长度修饰符
h
:与%d
/%i
/%o
等搭配表示short
类型(如%hd
)l
:表示long
类型(如%ld
、%lf
)ll
:表示long long
类型(如%lld
)L
:表示long double
(如%Lf
)
宽度与精度
%5d
:输出至少5位宽度,不足用空格填充%.2f
:浮点数保留2位小数%*.*f
:动态指定宽度和精度(如printf("%*.*f", 5, 2, 3.14)
)