为什么xy的值交换了

img


为什么x=7,y=5呀?不应该还是原来的值吗?
难道是形参缺省,则默认为传入地址??
求指教

全局变量的原因,如果定义的变量在主函数里的话就得用到指针

因为定义的 x y 都是全局变量,在swap()函数里的操作,是直接对变量 x y 产生作用的,在main()函数里输出的也是全局变量 x y。

你用的全局变量 跟传参不是一个问题

因为你的x y是全局变量,并且swap也没有传参啊

全局变量和局部变量如果变量名相同的话,全局变量优先操作,直接对全局变量进行操作,出了函数范围全局变量不会销毁,因此互换了

你直接对x和y操作,将x的值给z然后将y的值给x然后将z的值给y,x自然就变成了y,y的值也成了x,有什么问题吗