十进制:
%d int、char
%i 有符号的整数
%hd short
%ld long int
%lld long long int
%zd size_t
%u unsigned int
%lu unsigned long int
%llu unsigned long long int
八进制:
%o int
%ho short int
%lo long int
%llo long long int
十六进制:
%x int
%hx short int
%lx long int
%llx long long int
浮点数:
%f float
%.nf 限制小数位数的%f
%lf double
%Lf long double
%e 科学记数法,e小写
%E 科学记数法,E大写
%Le 科学记数法,long double
%g 6个有效数字的浮点数,整数部分超过6位,自动转为科学记数法,e为小写
%G 大写E的%g
%a 十六进制浮点数,字母小写
%A 十六进制浮点数,字母大写
字符型:
%c char
%s 字符串
其它:
%% 打印百分号
%p 打印地址(十六进制表示)
%n 已打印的字符串数量,不包括自己
%+* 显示正负号
限制宽度:
%m* 打印值的最小宽度
m为正数 右对齐
m为负数 左对齐
m<值位数 原样输出
m>值位数 空格补齐
%m.nf n表示小数的位数
%0m* 用0补齐
比如:
1 int a = 10; 2 printf("%#04X \n", a); 3 printf("0x%02X \n", a);