永发信息网

c语言交换值问题,想要通过交换地址改变值。但是为什么不行,具体问题给了代码,求解答,谢谢

答案:1  悬赏:60  手机版
解决时间 2021-11-25 11:56
c语言交换值问题,想要通过交换地址改变值。但是为什么不行,具体问题给了代码,求解答,谢谢
最佳答案
C语言的函数形式参数是函数的局部变量,你把实参地址值传给形参指针,在函数中交换只在函数中起作用,影响不到主调函数中实参指针的值。要想改变主调函数中的变量值,函数中得通过接收到的地址值改变其指向的变量值,这样的操作才是可行的,比如把你的函数改成——
void excha(int*a,int *b)
{
int t;
    t=*b;
    *b=*a;
    *a=t; 
}这样改交换的就不是函数中的a和b指针,而是指针指向的*a和*b,由于*a和*b就是主调函数中的p1和p2,所以它们的值才能发生变化。
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
形容辛勤工作的词语
log-rank分析的生存曲线与cox回归的生存曲线
婚外男情人是不几次得不到情人他就会放弃了
现在开发票为什么要51发票客户端
求助:面对素质低的邻居,我该怎么办
我的眼睛经常跳,一般都是右眼睛跳,以前也跳
CAD如何在立体图上加箭头
想有个他爱着……
东风eq1092的排量是多少
依恋婚庆(睢城镇)地址在哪,我要去那里办事,
跪求诗一首
法宣在线怎样可以后台运行
我想问问草溜社区2014是做什么的呢??
杨桃菌多少钱一斤
平湖南站在哪
推荐资讯
lj465q2发动机序号代表什么意思LJQAE各代表什
啊尔卑斯大包棒棒糖多少钱一包
为什么在玖富万卡上借款不成功?
百度app里面发布的动态别人从哪里阅读到的
英国feelunique快递多久能到 英国feelunique
太原还有丁字路吗
我做微商卖给表妹产品赚了她二十块钱 她说我
中考落榜生择2+3大专注意的哪些事
哪种坚果或水果外面皮是黑的里面的皮是绿的。
现在缝制の终わっている御社の在库分の検品を
在等比数列{an}中,前三项分别为1,q,q2,第
喜羊羊与灰太狼之开心闯龙年中最后龙爸爸说的
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?