以下为正确的示范
#include<stdio.h>
int swap(int *x,int *y);
int main()
{
int a=56;
int b=45;
int z;
z=swap(&a,&b);//如上图所示,x,y和a,b所占的内存条不同,及地址不同所以不能直接传参等于,函数的地址的址传递是很完美的,必须要带上&号
printf("%d %d\n",a,b);
return 0;
}
int swap(int * x,int * y)//这是直接写的
{
int t;
t=*x;
*x=*y;
*y=t;
return *x,*y;
}
以下为错误的示范#include<stdio.h>
int swap(int x,int y);
int main()
{
int a=56;
int b=45;
int z;
z=swap(&a,&b);
printf("%d %d\n",a,b);
return 0;}
int swap(int x,int y)
{
int t;
t=x;
x=y;
y=t;
return x,y;
}