来个大神说一下c语言指针问题!

来个大神说一下c语言指针问题!其实也就是个小问题。。这两道题指针有何不一样?一个传值一个传指针什么的,详细点谢谢... 来个大神说一下c语言指针问题!其实也就是个小问题。。这两道题指针有何不一样?一个传值一个传指针什么的,详细点谢谢 展开
 我来答
自我编程
2017-12-26 · 科技优质答主
自我编程
采纳数:1481 获赞数:4279

向TA提问 私信TA
展开全部
其实指针也是变量 你可以把 char * 合在一起看 和 char一样都是类型而已
关键区别指针里面放的值是 地址
而函数运行时使用的始终是自己的形参
那么这样看 第一题 是把变量 p,q的值传给个形参 x,y
之后函数将x,y的值作为地址把里面的数值进行了交换(也就是把p,q指向的地址值交换了)
第二题 同样是 是把变量 p,q的值传给个形参 x,y
区别是函数 直接将x,y的值进行了交换,而这个操作对实参p,q没有影响
追问
所以如果是字符串指针的话只交换首地址的值吗
追答
是的,字符串数组的地址是连续的,首地址就可以确认字符串
RU恶魔猎手SH
2017-12-26 · TA获得超过432个赞
知道小有建树答主
回答量:363
采纳率:85%
帮助的人:221万
展开全部
  • 第一题中的fun函数,两个参数为指向char型变量的指针,t是一个char型变量,*x,*y就是对应地址中的值,所以交换的是值。故输出为1bc a23

  • 第二题中的fun函数,两个参数同样为指向char型变量的指针,t是一个char型变量的指针,x,y就是指针指向的地址,所以交换的是地址。故输出为two one

追问
第二题是地址交换值不换 one two 吧?
追答
地址中的值不变,但是地址交换了,所以输出顺序变了
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
yc...6@33sn.cc
2017-12-26
知道答主
回答量:46
采纳率:0%
帮助的人:5.4万
展开全部
可以去stack overflow问问
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式