鱼C论坛

 找回密码
 立即注册
查看: 2429|回复: 12

[已解决]求助关于指针的疑问

[复制链接]
发表于 2021-3-2 19:40:27 | 显示全部楼层 |阅读模式
20鱼币
本帖最后由 guhusf 于 2021-3-2 21:10 编辑

如图,1.为什么有两个q=pf,2.scanf时为啥是q++而printf时是*q++呢?
最佳答案
2021-3-2 19:40:28

第一次for循环指针后移(为了给内存赋值)
所以打印时要指向首地址才能打印
QQ图片20210302193751.png

最佳答案

查看完整内容

第一次for循环指针后移(为了给内存赋值) 所以打印时要指向首地址才能打印
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2021-3-2 19:40:28 | 显示全部楼层    本楼为最佳答案   

第一次for循环指针后移(为了给内存赋值)
所以打印时要指向首地址才能打印
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2021-3-2 20:06:09 | 显示全部楼层
因为p代表地址,*p代表地址里的值,scanf的参数为地址,printf的参数为值
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2021-3-2 20:06:15 | 显示全部楼层
没图呀
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2021-3-2 20:52:08 | 显示全部楼层

现在有了
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2021-3-2 20:52:38 | 显示全部楼层
rororoya 发表于 2021-3-2 20:06
因为p代表地址,*p代表地址里的值,scanf的参数为地址,printf的参数为值

大佬,我把图加上了,再看看第一个问题呗
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2021-3-2 21:00:16 | 显示全部楼层
因为p++后,p指向的地址向后移了八次,第二个p = pf是将p重新指向pf ,输出的才会是你刚才输入的
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2021-3-2 21:02:38 | 显示全部楼层
没看到p,我只看到q
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2021-3-2 21:10:08 | 显示全部楼层
my_angel 发表于 2021-3-2 21:02
没看到p,我只看到q

是q,打错了
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2021-3-2 21:15:38 | 显示全部楼层
scanf第二个参数是地址所以不用*直接写地址就行
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2021-3-2 21:18:57 | 显示全部楼层
rororoya 发表于 2021-3-2 21:00
因为p++后,p指向的地址向后移了八次,第二个p = pf是将p重新指向pf ,输出的才会是你刚才输入的

谢谢
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2021-3-2 21:23:03 | 显示全部楼层
你想一想,我们常规的写法是不是
var a;
scanf("%d",&a);
也就是第二个参数是放指针的,
所以第一个q=pf,没啥问题,因为pf申请了一块内存区域,然后p指向这块内存区域

继续第二个
q=pf
请问,pf的值前后有没有改变?没有吧?
是不是你可以这么理解,第二个 q=pf,算不算把q重新指向初始位置了?因为你前面一个循环里面q++了,是不是让指针偏移了,
所以第二个 q=pf就是让q重新指向最开始的地方,然后依次读取相关的内容。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2021-3-2 22:20:06 | 显示全部楼层
4goodworld 发表于 2021-3-2 21:23
你想一想,我们常规的写法是不是

也就是第二个参数是放指针的,

好的,谢谢大佬
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-9-22 11:26

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表