#include <stdio.h>
void swap(int** a, int** b) {
int* temp = *a;
*a = *b;
*b = temp;
}
int main() {
int x = 1, y = 2;
int* px = &x;
int* py = &y;
swap(&px, &py);
printf("After swap: px = %d, py = %d\n", *px, *py);
printf("After swap: x = %d, y = %d\n", x, y);
return 0;
}
为什么x,y的地址已经进行了调换,但是从输出的结果来看x,y仍然没有改变?