l
思想:
函数内部交换的是x,y,而x,y相当于新创建出的变量,只在函数内部有效,只不过是通过a,b对x,y进行了初始化,交换形参并不能改变实参的值
解决方案:
利用指针间接访问
#include<stdio.h>
int swap(int* x, int* y)
{
int tmp;
tmp = *x;
*x = *y;
*y = tmp;
}
int main() {
int a=0,b=0;
scanf("%d %d", &a,&b);
swap(&a,&b);
printf("%d %d",a,b);
system("pause");
return 0;
}