C语言常用占位符的使用小结
作者:C语言中文网 发布时间:2023-06-10 01:00:04
在 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占位符来输出字符串,同时通过指定宽度来控制输出的宽度。
来源:104.116.116.112.58.47.47.99.46.98.105.97.110.99.104.101.110.103.46.110.101.116.47.118.105.101.119.47.108.110.110.107.105.113.46.104.116.109.108.


猜你喜欢
- 目录一、String的用法1.构造方法2.求字符串长度和某一位置字符3.提取子串4.字符串比较5.字符串链接6.字符串中单个字符查找7.大小
- this:this理解为:当前对象 或 当前正在创建的对象可以调用的结构:属性、方法;构造器this调用属性、方法:先了解一下形参:形参的意
- 在.NET 4.0(当然也包括4.0以前的版本)下,用反射判断某个方法是否运用了自定义Attribute时,可以通过调用MethodInfo
- 1.由于需要删除文件,因此需要如下权限: <uses-permission android:name="android.pe
- 前置知识在微服务项目中,如果我们想实现服务间调用,一般会选择Feign。之前介绍过一款HTTP客户端工具Retrofit,配合SpringB
- Jsch是什么?JSch 是SSH2的一个纯Java实现。它允许你连接到一个sshd 服务器,使用端口转发,X11转发,文件传输等等。你可以
- 1:新建一个项目运行起来,可以看到顶部一直有个标题栏看着不是很美观2:有两种方法可以去除顶部标题栏(1)将代码中AndroidManifes
- 实现功能权限校验的功能有多种方法,其一使用 * 拦截请求,其二是使用AOP抛异常。 首先用 * 实现未登录时跳转到登录界面的功能。注意这里没
- 最近.一个朋友跟我说想,我给她弄个闹钟APP软件...功能其实很简单...只需要弄个简单的闹钟.自己设计设计时间.然后时间到了的时候,闹铃放
- 在进行一个表达式的计算时,先将表达式分割成数字和字符串然后利用出入栈将分割后的表达式进行中缀转后缀,再将后缀表达式进行计算得到结果(思想在上
- 1、什么是GOCW 为了解决在Csharp下编写OpenCV程序的问题,我做过比
- C#中,Image为源自 Bitmap 和 Metafile 的类提供功能的抽象基类,也就是说更通用,当我们用Image.FromFile(
- Spring发布了一个新工具Spring Native Beta,用于将现有的Spring Boot应用程序(用Java或Kotlin编写)
- SpringCloud简介Spring cloud是一个基于Spring Boot实现的服务治理工具包,在微服务架构中用于管理和协调服务的微
- 先看看效果图:package wuwang.tools.utils; import java.io.File; import java.io
- 1. json数据类型类型描述Number数字型String字符串型Boolean布尔型Array数组Object对象null空值(1)js
- 1.为项目添加POIPOI官网链接点进去之后下载(上边的是编译好的类,下边的是源代码) 解压文件夹,把下面三个文件复制到WebCo
- 1. Java中程序的逻辑控制语句1.1顺序结构顺序结构比较简单,按照代码书写的顺序一行一行执行1.2分支结构1.2.1 switch语句这
- Maven打包时指定启动类使用Maven打包的时候, 有时候需要指定启动类, 可如下操作!测试项目(结构如下):代码: com.xxx.Ma
- 在c#中可以遍历指定驱动器或指定目录下嵌套目录中的所有文件或者任意深度的文件。通过遍历可以检索string形式的目录名和文件名,也可以检索