请问一下指针数据交换的问题
这个是用来把a 和b的值交换机的.以下这个是可以通过.但稍做了一下改动就不行了.不知道问题出在哪里.???#include "stdio.h"
int swap(int *x, int *y)
{
int t;
t=*x;
*x=*y;
*y=t;
}
void main()
{
int a=10,b=20;
printf("交换前: a=%d b=%d\n",a,b);
swap(&a,&b);
printf("交换后: a=%d b=%d\n",a,b);
}
如果把这里的SWAP换成以下的就不行了.
int swap(int *x, int *y)
{
int *t;
*t=*x;
*x=*y;
*y=*t;
}
为什么我把t定义成指针的就不行了哟?应该来说把*x传给*t这个没有错的.请高手指点一下.实在有的迷糊.谢谢!!