整数类型
%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语言中最为常见和基本的格式说明符。