下面两个代码利用指针使形参影响实参,第一个可以,那为什么第二个不可以?看了说是指向变了但是内容没变但还是不能理解,能详细讲一下吗? 谢谢!
void fun2(int *a,int *b)
{
int t;
t = *a;
*a = *b;
*b = t;
}
int main()
{
int a=4,b=3;
fun2(&a,&b);
printf("%d %d\n",a,b);
return 0;
}
输出:3 4
void fun3(int *a,int *b)
{
int *t;
t = a;
a = b;
b = t;
}
int main()
{
int a=4,b=3;
fun2(&a,&b);
printf("%d %d\n",a,b);
return 0;
}
输出:4 3