为了账号安全,请及时绑定邮箱和手机立即绑定

正在回答

5 回答

a,b使用指针,然后将地址传递过去。

0 回复 有任何疑惑可以回复我~

因为change函数使用了void类型,void类型的有一个作用是无返回值的,表示该函数没有返回值,也就是说在change函数内部即使你把a和b的值互换了,但也只是对于这个函数本身,并不能影响到main函数的。

1 回复 有任何疑惑可以回复我~

要使用指针,然后地址传递。

0 回复 有任何疑惑可以回复我~

简单的说就是作用域导致此a非彼a。虽然变量名字都是a,但一个适用范围在函数里,另一个适用范围在主函数里。想要实现的话需要声明全局变量。推荐你用vs2013调试一下,看的比较直观。

0 回复 有任何疑惑可以回复我~

因为函数参数的传递方式是单向值传递造成的。

调用 chang() 函数时,将实参 a 和 b 的值对应传递给形参 a 和 b,形参 a 和 b获得初值。当 chang() 函数执行结束,返回主函数时,形参 a和b 的内存空间被释放,即形参 a 和 b 不在存在。但是形参的值并没有传递给实参 a 和 b,所以实参 a 和 b 的值仍然是他们的初始值。

2 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消

为什么a,b不会对调呢

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信