鱼C论坛

 找回密码
 立即注册
查看: 1350|回复: 6

[已解决]scanf函数问题

[复制链接]
发表于 2018-10-26 12:36:08 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
scanf函数接收用户输入的数据的时候 scanf("%d", &a)像这个,为什么后面的变量要加一个取地址运算符呢?是不是scanf接收的数据也是地址呢?或者是其他什么原因
最佳答案
2018-10-26 13:19:02
啊涂涂 发表于 2018-10-26 13:04
我没有听的特别懂,再问一下,假如我们设定了一个 int a = 3, 然后用户输入了一个 5 ,我们接收 scanf( ...

不是5的地址,是a的地址,int a定义变量就是给a分配一个专属的地址空间,这个地址空间里可以放数据,你这个3和5都只是a的地址空间里存放的数据而已,他们没有地址,只有变量a有地址
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2018-10-26 12:38:53 | 显示全部楼层
接收的传参得是指针,才能透过指针修改变量的内容,就这样
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2018-10-26 13:04:58 | 显示全部楼层
本帖最后由 啊涂涂 于 2018-10-26 13:07 编辑
claws0n 发表于 2018-10-26 12:38
接收的传参得是指针,才能透过指针修改变量的内容,就这样


我没有听的特别懂,再问一下,假如我们设定了一个 int a = 3, 然后用户输入了一个 5 ,我们接收 scanf("%d", &a)  scanf函数就是接收的用户输入的 5 的地址,然后把变量 a 的地址给取出来,再然后通过 5 的地址把 a变量的地址里面的 3 给覆盖住?也就是把 3 的地址换成 5
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2018-10-26 13:19:02 | 显示全部楼层    本楼为最佳答案   
啊涂涂 发表于 2018-10-26 13:04
我没有听的特别懂,再问一下,假如我们设定了一个 int a = 3, 然后用户输入了一个 5 ,我们接收 scanf( ...

不是5的地址,是a的地址,int a定义变量就是给a分配一个专属的地址空间,这个地址空间里可以放数据,你这个3和5都只是a的地址空间里存放的数据而已,他们没有地址,只有变量a有地址
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2018-10-26 13:23:31 | 显示全部楼层
pheron 发表于 2018-10-26 13:19
不是5的地址,是a的地址,int a定义变量就是给a分配一个专属的地址空间,这个地址空间里可以放数据,你这 ...

哦,那等于就是读取用户输入的5,然后取a的地址,把5放进去?
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2018-10-26 13:25:04 | 显示全部楼层
啊涂涂 发表于 2018-10-26 13:23
哦,那等于就是读取用户输入的5,然后取a的地址,把5放进去?

对呀
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2018-10-26 13:25:35 | 显示全部楼层
啊涂涂 发表于 2018-10-26 13:04
我没有听的特别懂,再问一下,假如我们设定了一个 int a = 3, 然后用户输入了一个 5 ,我们接收 scanf( ...

swap(int *x, int *y) 是怎么操作的,scanf 就是怎么操作的,传入地址,然后透过指针修改变量内容

评分

参与人数 1荣誉 +2 鱼币 +3 贡献 +1 收起 理由
啊涂涂 + 2 + 3 + 1 鱼C有你更精彩^_^

查看全部评分

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

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-10-2 18:32

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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