整数类型
%d
:带符号的十进制整数(适用于int
类型)。%hd
或%hi
:带符号的短整数(适用于short int
类型)。%ld
:带符号的长整数(适用于long int
类型)。%lld
:带符号的长长整数(适用于long long int
类型)。%i
:同%d
,可以自动识别有符号整数大小。%u
:无符号的十进制整数(适用于unsigned int
)。%hu
:无符号的短整数(适用于unsigned short int
)。%lu
:无符号的长整数(适用于unsigned long int
)。%llu
:无符号的长长整数(适用于unsigned long long int
)。%o
:无符号八进制整数。%x
或%X
:无符号十六进制整数(小写或大写)。
浮点类型
%f
:十进制浮点数(适用于float
类型)。%lf
:十进制浮点数(适用于double
类型)。%e
或%E
:科学计数法表示的浮点数(小写或大写)。%g
或%G
:根据值的大小选择%f
或%e/%E
样式中最紧凑的一种。%a
或%A
(C99引入):十六进制浮点数输出格式(用于double
)。
字符类型
%c
:单个字符。
字符串类型
%s
:字符串(以空字符\0
结束的一串字符)。
其他
%p
:打印指针地址,并通常会自动转换为适合平台的格式。%n
:仅在scanf
系列函数中使用,用于读入并记录到相应整型变量中已读取字符的数量。%t
:在某些扩展库中可能用于布尔型数据,但并非C标准的一部分。
附加格式说明符
格式说明符还可以包含一些附加的修饰符和标志,以控制输出的格式,如:
-
:表示左对齐输出(默认是右对齐)。+
:表示输出正数时前面也显示加号。0
:表示指定空位填0(而非空格)。- 宽度和精度说明符(如
%5d
、%.2f
):分别用于指定输出的最小宽度和浮点数的精度。
请注意,随着C语言标准和库的发展,可能会有新的格式说明符被引入,但上述列表涵盖了C语言中最为常见和基本的格式说明符。