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.
猜你喜欢
- 前言👉本文中所有的代码和运行结果都是在amazon corretto openjdk 1.8环境中的,如果你不是使用该环境,可能会略有偏差。
- 示例代码如下:namespace SampleListT{ class Program { &
- 做侧滑删除网上有很多方案,比如重写Listview实现滑动的监听,今天说下一个SwipeListView,这个是之前一个朋友在网上开源的一个
- 上一篇文章我们了解了Java背包问题求解实例代码,接下来我们看看Java中模仿用户登录的相关代码,下面是具体内容。基于用户从控制台输入模拟的
- Java中的比较问题是一个很基础又很容易混淆的问题。今天就几个容易出错的点作一个比较详细的归纳与整理,希望对大家的学习与面试有帮助。一、==
- #简易版1、客户发送请求经过 DisPatcherServlet 核心过滤器2、DisPatcherServlet 核心控制器在去找一个或多
- 上一小节我们学习了FastThreadLocal的创建和get方法的实现逻辑, 这一小节学习FastThreadLocal的set方法的实现
- 这篇文章主要介绍了spring cloud alibaba Nacos 注册中心搭建过程详解,文中通过示例代码介绍的非常详细,对大家的学习或
- 苹果上的UI基本上都是这个效果,然而Android机上的顶部状态栏总是和app的主题颜色不搭。还好如今的api19以上的版本,我们也能做出这
- 不用单点登录,模拟远程项目的登录页面表单,在访问这个页面的时候自动提交表单到此项目的登录action,就可以实现登录到其他系统。ssh框架项
- 开发背景开发工具:VS2017语言:C#DotNet版本:.Net FrameWork 4.0及以上系统:Win10 X64一、首先建立一个
- 错误Mybatis-Plus (简称MP) 是mybatis的一个增强工具,在mybatis的基础上只做增强不做改变,简化了开发效率。其实就
- 本文实例讲述了java GUI编程之布局控制器(Layout)。分享给大家供大家参考,具体如下:布局控制器,是用来系统自动分配各个compo
- 如果没有安装过maven,是用的idea自带的maven,那就是idea的安装目录下 /plugins/maven/lib/maven3这个
- 实现了Java web开发账号单一登录的功能,防止同一账号重复登录,后面登录的踢掉前面登录的,使用过滤器Filter实现的。可以先下载项目下
- 在java的JFrame内通过创建匿名对象的方式做登录界面package com.sxt;import java.awt.Container
- 环境:VS2019+Qt5.121. CLR库安装 &nb
- 原理简介 & OpenGL 的优势裸眼 3D 效果的本质是——将整个图片结构分为 3 层:上
- 本文实例为大家分享了Android点击获取验证码倒计时的具体代码,供大家参考,具体内容如下package com.loaderman.cou
- Feign传递请求头信息在我之前的文章服务网关Spring Cloud Zuul中,将用户的登录id放在了请求头中传递给内部服务。但是当内部