printf用法的个人总结
printf格式字符:
打印格式 | 数据类型 | 含义 |
---|
%d | int | 将值转为有符号的十进制整数 |
%hd | short int | 短整数 |
%hu | unsigned short | 无符号短整数 |
%o | unsigned int | 无符号8进制数 |
%u | unsigned int | 无符号十进制数 |
%x,%X | unsigned int | 无符号十六进制整数,x对应的是abcdef,X对应的是ABCDEF |
%f | float | 单精度浮点数 |
%lf | double | 双精度浮点数 |
%e,%E | double | 科学计数法表示,e的大小写同上方X |
%c | char | 字符型,将输入的数字按ASCII码转换为对应的字符 |
%s | char * | 字符串,输出字符串中的字符直至字符串中的空字符出现(\0) |
%p | void * | 以十六进制形式输出指针 |
%% | % | 输出一个百分号 |
printf附加格式:
打印格式 | 含义 |
---|
l(字母) | 附加在d,u,x,o前面,表示长整数 |
- | 左对齐 |
m(代表一个整数) | 数据最小宽度 |
数字0 | 将输出的前面补上0直到占满指定列宽为止,不可以搭配使用- |
m,n(代表一个整数) | m指域宽,即对应的输出项在输出设备上所占的字符数,n指精度,用于说明输出的实型数的小数位数。对数值型的来说,未指定n时,隐含的精度为n=6位 |
简单的,如下:
char *b = "HELLO\0 WORLD";
printf("%s\n", b);