fun(x ,
y,
z);只是把实参的值传给形参,而函数中改变的是形参的值。
void fun(int a,
int
b,
int
c)
{
a=456; b=567; c=678;
}
fun(&x , &y,
&z);把实参的地址传给了形参,这样,形参和实参拥有一样地址空间。因此,当形参的值被改变时,实际上是改变了形参的地址空间保存的内容,因而实参的值也被改变了
void fun(int *a,
int
*b,
int
*c)
{
*a=456; *b=567; *c=678;
}
所以,当函数有出参时,一定要用指针类型