格式说明符用于printf和sprintf函数的输出以及scanf和sscanf函数的输入操作
1. 整数类型
%d:带符号的十进制整数(适用于int类型)。
%hd:带符号的短整数(适用于short int类型)。
%ld:带符号的长整数(适用于long int类型)。
%lld:带符号的长长整数(适用于long long int类型)。
%i:同%d,可以自动识别有符号整数大小。
%hu:无符号的短整数(适用于unsigned short int)。
%u:无符号的十进制整数(适用于unsigned int)。
%lu:无符号的长整数(适用于unsigned long int)。
%llu:无符号的长长整数(适用于unsigned long long int)。
%o:无符号八进制整数。
%x 或 %X:无符号十六进制整数(小写或大写)。
2. 浮点数类型
%f:十进制浮点数(适用于float类型)。
%lf:十进制浮点数(适用于double类型)。
%e 或 %E:科学计数法表示的浮点数(小写或大写)。
%g 或 %G:根据值的大小选择%f或%e/%E样式中最紧凑的一种。
3. 字符类型
%c:单个字符。
4. 字符串类型
%s:字符串(以空字符’\0’结束的一串字符)。
5. 指针类型
%p:打印指针地址,并通常会自动转换为适合平台的格式。
6. 其他特殊用途
%n:读入并记录到相应整型变量中已读取字符的数量(仅在scanf系列函数中使用)。
%t:用于布尔型数据(某些扩展库可能支持)。
%a:C99引入的十六进制浮点数输出格式(用于double)。