以下是错误示范
void swap(int x,int y) //形式参数
{
int z = 0;
z = x;
x = y;
y = z;
}
int main()
{
int a = 10;
int b = 20; //a,b叫做实参
swap(a, b);
printf("%d %d", a, b);
return 0;
}
当实参传递给形参的时候,实参是形参的一份拷贝
实参的修改不会影响形参
可以利用指针间接修改a值
int p = &a;
*p = 30;
修正后
void swap(int *px,int *py) //形式参数
{
int z = *px;
*px=*py;
*py=z;
}
int main()
{
int a = 10;
int b = 20;
swap(&a, &b);
printf("%d %d", a, b);
return 0;
}