C语言常用占位符
在 C语言中,占位符是一种用于格式化输出的特殊字符,通常用于 printf() 等输出函数中,用于指定输出的格式和内容。在本文中,我们将详细介绍 C语言中常用的占位符及其使用方法,并且通过示例代码演示如何使用这些占位符进行格式化输出。
下面是一些使用占位符进行格式化输出的示例代码:
下面是一些使用修饰符进行格式化输出的示例代码:
C语言中常用的占位符
下表中展示了一些 C语言中常用的占位符及其含义:占位符 | 含义 |
---|---|
%d | 以十进制形式输出整数 |
%u | 以十进制形式输出无符号整数 |
%x | 以十六进制形式输出整数(小写字母) |
%X | 以十六进制形式输出整数(大写字母) |
%o | 以八进制形式输出整数 |
%f | 以浮点数形式输出实数 |
%e | 以指数形式输出实数 |
%g | 自动选择 %f 或 %e 输出实数 |
%c | 输出单个字符 |
%s | 输出字符串 |
%p | 输出指针的地址 |
%n | 输出已经输出的字符数 |
%% | 输出百分号本身 |
下面是一些使用占位符进行格式化输出的示例代码:
#include <stdio.h> int main() { int a = 10; unsigned int b = 20; char c = 'A'; char s[] = "hello world"; float f = 3.14; double d = 3.1415926; void *ptr = &a; printf("a = %d\n", a); printf("b = %u\n", b); printf("c = %c\n", c); printf("s = %s\n", s); printf("f = %f\n", f); printf("d = %e\n", d); printf("ptr = %p\n", ptr); printf("%%\n"); printf("%d %d %d\n", 1, 2, 3); int count = printf("Hello, World!\n"); printf("count = %d\n", count); return 0; }上述代码中,我们使用了不同的占位符对不同类型的数据进行了格式化输出,以下是输出结果:
a = 10
b = 20
c = A
s = hello world
f = 3.140000
d = 3.141593e+00
ptr = 0x7ffcaed96b8c
%
1 2 3
Hello, World!
count = 14
%d
来输出整数,%u
来输出无符号整数,%c
来输出单个字符,%s
来输出字符串,%f
和%e
来输出实数,%p
来输出指针地址,%%
来输出百分号本身,%n
来输出已经输出的字符数。此外,我们还可以在占位符中指定一些修饰符,以控制输出格式。下面我们将详细介绍一些常用的修饰符。占位符的修饰符
在 C语言中,我们可以在占位符中使用一些修饰符来控制输出的格式,下面是常用的一些修饰符:-
%-
:左对齐输出; -
%0
:在输出数字时,如果位数不够用 0 填充; -
%.
:用于控制浮点数输出的小数位数; -
%*
:用于控制输出的宽度,其中*表示要输出的宽度。
下面是一些使用修饰符进行格式化输出的示例代码:
#include <stdio.h> int main() { int a = 123; float f = 3.1415926; printf("%-5d\n", a); printf("%05d\n", a); printf("%.2f\n", f); printf("%*d\n", 5, a); printf("%*s\n", 10, "hello"); return 0; }输出结果如下:
123
00123
3.14
123
hello
%-
修饰符来左对齐输出整数,使用%0
修饰符来在输出数字时用 0 填充位数不够的部分,使用%.
修饰符来控制浮点数输出的小数位数,使用%*
修饰符来控制输出的宽度,其中*
表示要输出的宽度,使用%s
占位符来输出字符串,同时通过指定宽度来控制输出的宽度。