(c语言) 请教一道2级的简单题

答案选C只是不明白k为什么是6而不是3?... 答案选C 只是不明白k为什么是6而不是3? 展开
 我来答
百度网友746d508
2014-03-25 · TA获得超过578个赞
知道小有建树答主
回答量:215
采纳率:0%
帮助的人:180万
展开全部
sp(&k);调用这个函数时,k的地址传给了变量a。a变量的内容是k的地址。*a = k。所以第一次
*a=*a*2;执行后,k的值为6,*a的值也是6.
打个比方k是一个房间。该房间里有个值3。a是个房间号,*a就是到a标记的房间里取东西。
*a=*a*2;就是到a标记的房间里取出值,乘个2,再放回那个房间里。那房间里的值应该是6了吧,那k的值是多少不就显而易见了么。
更多追问追答
追问
请问:把b的地址赋给a后 再执行*a=*a*2 此时*a=4 这时为什么k不为4呢?
请问:把b的地址赋给a后 再执行*a=*a*2 此时*a=4 这时为什么k不为4呢?
百度网友c0a13db
2014-03-25 · 超过21用户采纳过TA的回答
知道答主
回答量:62
采纳率:0%
帮助的人:42.3万
展开全部
*a = *a * 2;这个时候a是指向k的,这句执行的时候,已经通过指针改变了k的值,即k等于6,函数后面都未改变k值,最后函数返回的时候,k自然是等于6
追问
请问:把b的地址赋给a后 再执行*a=*a*2 此时*a=4 这时为什么k不为4呢?
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
孔子有云
2014-03-25 · 超过35用户采纳过TA的回答
知道答主
回答量:103
采纳率:0%
帮助的人:88.5万
展开全部
指向整数k的指针传给了sp函数,所以可以改变k的值,若实参是k,只是复制它的值,并不改变它本身,此时实参是&k,可以改变k的值,
追问
请问:把b的地址赋给a后 再执行*a=*a*2 此时*a=4 这时为什么k不为4呢?
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式