关于函数内部定义指针并进行操作的一个疑问
int change(int*a,int*b)
{
int *c=a;
*a=*b;
*b=*c;
return 0;
}
int main(int argc,char**argv)
{//1
int a =5;
int b =6;
change(&a,&b);
printf("a'=%d\nb'=%d\n",a,b);
return 0;
}在函数内部定义一个指针c,把指针a指向的值赋给c,再把它传递给b,为什么调用函数后结果b'还是6?
int change(int*a,int*b)
{
int c=a*;
*a=*b;
*b=c;
return 0;
}对比正确写法,我可以理解这是把c=5直接赋值给b,但是上面的写法为什么不对呢?望大神赐教,谢谢!