printf怎么输出? 如何正确使用%s,%c,%d,%p?=>这篇详解用法

2023-11-19

//printf怎么输出?
//=>如何正确使用%s,%c,%d,%p

%d试例

/* include<stdio.h>
int main(void) {
int a[36] = { 1,2,3,4,5 };
printf("%d", *a);//=>一个 =>*a是值
return 0;
}=>输出1
*/

%c试例

/* #include<stdio.h>
int main(void) {
char op[20] = { “123” };
char*p = op;
printf("%c", *op);//=>一个 =>*op是值
return 0;
}=>输出1
*/

%s试例

/* #include<stdio.h>
int main(void) {
char op[20] = { “123” };
char*p = op;
//op是指针(地址),*op是值,p是指针,*p是值
printf("%s", op);//=>一串 =>op是指针(地址)或者printf("%s",p);=>p是指针
return 0;
}=>输出123
*/

总结:
//用printf输出的话,
//如果是用 %d 的话,符号这个["",]后面要写 ;=>一个整数=>一个就是值
//如果是用 %c 的话,符号这个["",]后面要写;=>一个字符整数=>一个就是值
//如果是用 %s 的话,符号这个["",]后面要写地址=>一串字符串=>一串就是地址
> //即,单个就要放值,不少于一个(即一串)要放值
//究竟用printf输出,符号这个["",]后面是写值还是地址其实是就看要输出一串字符串,还是一个字符或整数
//补充:%p=>专门输入地址,用printf输出,符号这个["",]后面要写地址


printf与数组关系的使用

/* #include<stdio.h>
int main(void) {
int a[36] = { 1,2,3,4,5 };
printf("%d", a[0]);===>a[0]是值
return 0;
}//输出第一个元素的值1
*/

/* #include<stdio.h>
int main(void) {
int a[36] = { 1,2,3,4,5 };
printf("%d", a);====>a是地址
return 0;
}//出第一个元素的地址6487424
*/

/* #include<stdio.h>
int main(void) {
int a[36] = { 1,2,3,4,5 };
printf("%d", *a);====>*a是值
return 0;
}//输出第一个元素的值1
*/

由以上三个例子,我们看到,
对于同一个数组 int a[36] = { 1,2,3,4,5 };
a[0]代表的是第一个元素的值;
*a则代表的也是第一个元素的值;
而 a则代表的是第一个元素的地址;

由此,我们可以推出,
对一个数组,
int a[36] = { 1,2,3,4,5 };
a[i]表示值,即用printf输出时,是值;
*a[i]则表示地址,即用printf输出时,是地址;(当然还要额外定义一个指针,这里不要乱用,指针果然博大精深,还要在仔细地思考)
没写完,还在更新…

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

printf怎么输出? 如何正确使用%s,%c,%d,%p?=>这篇详解用法 的相关文章

  • java基础-CAS、synchronized和AQS的理解

    乐观锁与悲观锁的区别 悲观锁 总是假设最坏的情况 每次去拿数据的时候都认为别人会修改 所以每次在拿数据的时候都会上锁 这样别人想拿这个数据就会阻塞直到它拿到锁 共享资源每次只给一个线程使用 其它线程阻塞 用完后再把资源转让给其它线程 传统的
  • Java数据库基础3

    行转列 首先我们默认的情况 每个名字都输出两次 而最终结果只有一次名字 所以肯定是 以名字分组 group by select from test 9 group by name 对我们来说 id 课程 和分数都不需要了 只需要有名字 然后

随机推荐

  • VMware设置centos7共享文件夹

    前言 VMware在设置centos6共享文件夹的时候 只需要安装vmware tools 然后在vmware里面配置共享文件夹即可 但是对于centos7 设置完之后 并不能如愿的将我们共享的目录显示在 mnt hgfs目录下 这里我们需
  • 新的征程

    十二生肖对应的五行 金 猴 鸡 木 虎 兔 水 鼠 猪 火 蛇 马 土 牛 龙 羊 狗 纳音五行如下 甲子乙丑海中金 甲午乙未沙中金 丙寅丁卯炉中火 丙申丁酉山下火 戊辰己巳大林木 戊戌己亥平地木 庚午辛未路旁土 庚子辛丑壁上土 壬申癸酉剑
  • unity2019.3 所有控制按键输入方法 input 鼠标输入,键盘输入,触屏输入,屏幕点击事件,物体拖拽点击事件说明带实例

    配置按键 unity为满足跨平台需求支持多种输入方式 比较常见的有触屏 摇杆 鼠标 按键 虽然unity可以直接在代码中直接指定某个按键的功能 但我们最好使用按键管理器来为项目配置输入操作 这是不仅是为了更好的统一管理 还是因为unity提
  • 白盒基本路径发测试实验报告_白盒测试之基本路径覆盖法

    基本路径覆盖法是在程序控制流图的基础上 通过分析控制结构的环路复杂性 导出基本可执行路径集合 设计测试用例的方法 该方法把覆盖的路径数压缩到一定限度内 程序中的循环体最多只执行一次 设计出的测试用例要保证在测试中 程序的每一个可执行语句至少
  • 20最佳代码审查工具-专门为开发人员准备

    程序员总是面临最后期限的压力和很多延误软件设计相当不稳定 整个产品是不稳定的 这种不稳定性的设计软件的原因是 它是不能正常测试 来的工作代码审查工具 的代码审查工具可以帮助web开发人员指出他们哪些区域的程序代码是错误的也可能有机会是不正确
  • 【教程】FISCO-BCOS一条龙配置go-sdk控制台搭建并启动

    前言 官网那个教程不是很好用 我在自己做了一遍之后整理了一下自己的步骤给大家 这篇没那么多废话直接开始 环境 Ubuntu18 正文 这里讲的是一条龙命令复制到最后直接完成 如果没有配置环境旁边也有文章点击跳转 1 启动节点 原理直接去看我
  • PCB设计小结

    PCB设计小结 1 给所有元器件编号 快捷键T A A 2 pcb中旋转 3 对齐 pcb中快捷键A 一般是右对齐 底对齐 保存间距 4 CTRL Z键撤销无效 点击撤销按钮也无效 保存重启软件就可以了 5 测距 ctrl m 6自动布线
  • 在vue3 中,使用element-plus中的el-scrollbar,让内容元素自动滚动

    在vue3 中 使用element plus中的el scrollbar 在el scrollbar中如果元素过大出现滑动 就自动滑动 到底部时就返回顶部重新向下滑动 鼠标放入框内停止滑动 模板部分
  • 转:Tendermint 简介

    Tendermint 是分布式一致性软件 即使有1 3的机器叛变了 也能保证其余机器上的数据一致 容忍机器以任意方式失败的能力 包括变得恶意 被称为拜占庭容错 BFT 该理论被提出来数十年了 由于bitcoin和ethereum 区块链技术
  • 【MySQL知识点】group by 的原理和理解

    1 文章转载自 https blog csdn net qq403580298 article details 90756352 ops request misc request id biz id 102 utm term mysql 2
  • 巴比特

    摘要 9 月 13 日 阿里云宣布通义千问大模型已首批通过备案 并正式向公众开放 百度发布文心一言插件生态平台 灵境矩阵 向广大开发者开启邀测 并提供百亿流量 亿元基金等激励措施 扶持插件生态建设 图片来源 由无界AI生成 热点资讯 百度发
  • 使用Nexus3创建docker个人仓库(匿名登录)

    使用Nexus3创建docker个人仓库 前言 一 镜像下载 二 Nexus配置 1 启动容器 2 登录GUI 3 创建仓库 4 创建Role 5 创建User 6 激活Realm 三 配置匿名 1 修改role 2 激活Anonymous
  • C/C++字符变量无法显示的问题

    快要找工作了 最近在狂看 程序员面试宝典 第二版 中间有个题目 作者解释错了 更重要的是 里面有个细节 导致我弄了好久才搞懂 现在拿出来分享下 下面是书中P37的源代码 面试例题1 下面程序的输出结果是多少 include
  • 从零开始的Docker详解(五)

    Docker容器互联 简介 docker可以定义一个连接系统将多个容器都连接在一起 共享连接信息 docker链接会创建一个父子关系 其中父容器可以看到子容器的信息 新建网络 使用命令docker network ls来查看当前已有的doc
  • 微信小程序从后台拿数据并成功展示到前台——demo

    项目结构 我没有使用index文件夹 使用了自己创建的test文件夹 1 创建好页面之后配置app json 2 前台页面 3 页面的js 4 页面展示效果 5 后台代码 一开始还想自己进行json转换 发现有线程的注解可以使用达到对象和j
  • tf好朋友之matplotlib的使用——annotate标注的使用

    tf好朋友之matplotlib的使用 annotate标注的使用 标注常用函数及其作用 1 plt annotate 2 plt text 应用示例 标注常用函数及其作用 1 plt annotate plt annotate s xy
  • 【Git】Github 上传文件常见的几种错误及尝试的解决方法

    文章目录 一 分支引发的错误 二 经常性的网络引发的错误 三 没有找到名为 HEAD 的引用 四 无法识别远程仓库 一 分支引发的错误 具体的错误类型为 error failed to push some refs to https git
  • 【软件测试】Requests库中处理cookie的几种方式

    前言 发送请求时经常需要利用请求头中的cookie字段来做用户访问状态的保持 关于的cookie的处理常见有下面一些处理方式 这里做个小小的总结 1 直接在请求中传递cookies参数 import requests host http 1
  • [163]星号密码探测工具 - 代码远程线程注入的简单运用

    忙里偷闲 在看雪论坛上面看到有人发布了一个 Win7星号密码探测工具 发现 有那么一点 小用处 用处不大的原因是 这个程序的的能力相当有限 只能查看一部分安全性不高的软件的密码框里面的程序 如果你要拿它来看QQ的密码 想当然 那是不可能了
  • printf怎么输出? 如何正确使用%s,%c,%d,%p?=>这篇详解用法

    printf怎么输出 gt 如何正确使用 s c d p d试例 include