int *a,*b,*c;这个是定义三个指向int的指针。。。
a=b=c=(int*)malloc(sizeof(int)); 分配一个保存int的空间。。。。相当于这个时候a,b,c是指向内存中同一个空间的。。。
*a=1;*b=2;*c=3;a=b;
执行*a = 1时,*b,*c也都是1
同样的执行*b = 2时,*a,*c也都是2
最后*c=3;,*a,*b也都是3
因为它们三个指向的是同一个空间。。。。所以取值是相同的。。。
希望对你有帮助。。。。仍有问题可以HI我。。。
abc三个指针指向的是同一块内存,所以只要其中一个变了,其他两个会一起跟着变,*a=1;*b=2;*c=3;最后变成了3,后面那个a=b即使没有,结果依然还是333,因为再执行a=b之前,其实a和b所指的内容就已经相等了