C语言printf详细解析
一、printf简介
printf是C语言的标准库函数,主要功能是将数据格式化输出到标准输出设备(通常是命令行窗口)。它的原型如下所示:
int printf(const char *format, ...);
其中,format
参数是一个字符串,用于指定输出的格式;...
表示可变参数,用于指定需要输出的数据。
二、格式化字符串
在格式化字符串中,你可以使用各种格式字符来输出不同类型的数据。下面是一些常用的格式字符:
格式字符 | 说明 |
---|---|
%c | 输出单个字符。 |
%d | 有符号十进制整数。 |
%u | 无符号十进制整数。 |
%f | 浮点数。 |
%s | 字符串。 |
%p | 指针。 |
%x | 以十六进制形式输出无符号整数,字母使用小写。 |
%X | 以十六进制形式输出无符号整数,字母使用大写。 |
除了这些格式字符之外,你还可以使用修饰符对格式进行更多地控制。下面是一些常用的修饰符:
修饰符 | 说明 |
---|---|
- | 左对齐。 |
+ | 显示正号。 |
# | 对于o、x或X类型的参数,非0值前加上0、0x或0X前缀。 |
0 | 左侧用0填充。 |
数字 | 表示最小字段宽度。 |
.数字 | 表示精度或字符串字段最大宽度。 |
三、示例说明
下面是两个示例说明:
示例1
#include <stdio.h>
int main()
{
char str[] = "Hello, World!";
int a = 10;
float b = 3.141592;
printf("%s\n", str);
printf("%d\n", a);
printf("%f\n", b);
return 0;
}
输出:
Hello, World!
10
3.141592
示例2
#include <stdio.h>
int main()
{
int a = 10;
printf("%d\n", a); // 10
printf("%2d\n", a); // 10
printf("%3d\n", a); // 10
printf("%04d\n", a); // 0010
printf("%+d\n", a); // +10
printf("%010d\n", a); // 0000000010
return 0;
}
输出:
10
10
10
0010
+10
0000000010
在上面的示例中,我们使用了不同的修饰符,定制了不同的输出格式。其中,%+d
表示在正数前显示正号,%0nd
表示用0来填充左侧空位(n表示最小宽度),%3d
表示占据至少3个字符的宽度。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:C语言printf详细解析 - Python技术站