一、赋值传递方式
用实参的值的一份拷贝来初始化形参,实参和形参具有相同的数据类型,但储存空间不同。
void swap(double x, double y)
{
double temp;
temp = x;
x = y;
y = temp;
}
main(void)
{
double x1, x2;
x1 = 11.1;
x2 = 22.2;
swap(x1, x2);
printf("x1=%d,x2=%d\n", x1, x2);
}
运行结果: x1=11.1, x2=22.2
二、地址传递方式
void swap(double *x, double *y)
{
double temp;
temp = *x;
*x = *y;
*y = temp;
}
main(void)
{
double x1, x2;
x1 = 11.1;
x2 = 22.2;
swap(&x1, &x2);
printf("x1=%d,x2=%d\n", x1, x2);
}
运行结果: x1=22.2, x2=11.1