C语言,求大佬指点第二题,谢谢

 我来答
侍0806
2020-03-02 · 超过13用户采纳过TA的回答
知道答主
回答量:30
采纳率:80%
帮助的人:13.1万
展开全部
打印出
10,x
func(a);这句传递的是值,实质是复制一份a,传副本给func()的形参b,同时func()函数是无返回值的
所以,形参b的值无论是否更改,都不影响main()函数中的a的值
追问
a是定义的另一个结构体吗?
追答
是的,a是main函数的局部结构体变量
b是func()函数的局部结构体变量,调用func()时分配内存,调用结束,删除变量,释放内存
北晨lpl
2020-03-02 · 个人账号,请勿打扰。
北晨lpl
采纳数:26 获赞数:61

向TA提问 私信TA
展开全部

先从main函数看,定义了一个结构体a并初始化,调用func函数:func(a);在调用func函数的过程中,它将a的值传递给了b,并在b中操作。执行完func函数后,它改变了b的值,没有改变a的值。故main中输出的仍未a原来的值。

输出:10,x

注意:函数在调用过程中的参数传递分为值传递和地址传递,其中值传递并不会对原先参数造成影响,而地址传递则会对原先参数造成影响。本例中为值传递。

已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式