#include <stdio.h>
int temp;
int main(int argc, char const *argv[])
{
int x = 3, y = 5;
// x = 3, y = 5
swapByValue(x, y); // 值传递不会改变主调函数的实参值,这里的x, y只是复制的值
printf("x = %d, y = %d\n", x, y);
// x = 5, y = 3
swapByRefercence(&x, &y); // 引用传递传入的实参的内存地址,可以在函数中交换实参的值
printf("x = %d, y = %d\n", x, y);
return 0;
}
void swapByValue(int x, int y)
{
temp = x;
x = y;
y = temp;
}
void swapByRefercence(int *x, int *y)
{
temp = *x;
*x = *y;
*y = temp;
}