1、整数打印前导零
使用%0Nd
打印前导0
,其中 0
告诉 printf
使用前导零填充,N
总宽度(包含数字本身),d
以十进制整数格式输出。
#include <stdio.h> int main() { int num = 42; printf("%05d\n", num); // 输出 00042 return 0; }
2、浮点数打印前导零
使用%0N.Mf
打印前导0
,其中 0
告诉 printf
使用前导零填充,N
总宽度(包括小数点和小数部分在内的总字符数),M
小数部分保留的位数,f
表示以浮点数(decimal浮点格式)输出。
#include <stdio.h> int main() { double num = 3.14159; printf("%08.2f\n", num); return 0; }
3、十六进制打印前导零
使用%0NX
打印前导0
,其中 0
告诉 printf
使用前导零填充,N
总宽度,X
是把数字以 大写十六进制 形式输出(A-F 是大写)。
#include <stdio.h> int main() { int num = 255; printf("%04X\n", num); // 输出: 00FF return 0; }
4、常用格式化说明符
C 语言中,printf
函数的格式化说明符非常重要,它们用来指定输出格式。这里是一些最常用的格式化说明符。
格式化说明符 | 作用 | 示例输入 | 输出示例 |
---|---|---|---|
%d | 打印 十进制整数(有符号) | printf("%d", 123); | 123 |
%u | 打印 无符号整数 | printf("%u", 123); | 123 |
%x / %X | 打印 十六进制(小/大写) | printf("%x", 255); | ff / FF |
%o | 打印 八进制数 | printf("%o", 255); | 377 |
%f | 打印 浮点数(小数) | printf("%.2f", 3.14159); | 3.14 |
%e / %E | 打印科学计数法 | printf("%e", 314159.0); | 3.141590e+05 |
%c | 打印 单个字符 | printf("%c", 'A'); | A |
%s | 打印 字符串 | printf("%s", "Hello"); | Hello |
%% | 打印 百分号 % | printf("%%"); | % |
%p | 打印 指针地址 | printf("%p", ptr); | 0x7ffee9c4b6f8 |
使用示例:
#include <stdio.h> int main() { int num = 42; float pi = 3.14159; char ch = 'A'; char *str = "Hello"; printf("整数:%05d\n", num); // 输出:00042 printf("浮点数:%.2f\n", pi); // 输出:3.14 printf("字符:%c\n", ch); // 输出:A printf("字符串:%-10s\n", str); // 输出:Hello printf("十六进制:0x%04X\n", num); // 输出:0x002A return 0; }