是a赋值给y b赋值给x是吧
这个代码显然是交换ab值的一个错误典范,没有分清值传递和指针传递,现在的写法就是值传递,fun函数实际上什么都没干,因为函数参数x和y都是a和b的一个副本,而不是a,b变量本身。x和y的更改不会影响到原先的变量。
指针传递应该这么写
void fun(int *x,int *y) {
int z = *y;
*y = *x;
*x = z;
}
int main(){
int a=100,b=200;
fun(&a,&b);
}