#include<stdio.h>#include<stdlib.h> main(){int *a,*b,*c;a=b=c=(int*)malloc(sizeof(int));接着下面

*a=1;*b=2;*c=3;a=b;printf("%d,%d,%d\n",*a,*b,*c);}结果是3,3,3(为什么不是2,2,3?)在线等!拜托大家了!

首先你创建的是a,b,c三个指针,之后你有创建了一个内存地址,让a,b,c三个指针都指向这个内存地址。由于a,b,c都是指向都一个内存地址,你给这个内存地址,先后赋值了3次,分别是1,2,3 ,
而之前的1,2覆盖了,所以这个内存地址中是3,最后你输出了a指向地址的内容,b指向地址的内容,c指向地址的内容。都是同一个内存地址,你说的几,肯定是3,3,3
温馨提示:答案为网友推荐,仅供参考
第1个回答  2011-09-16
a,b,c指向的是同一块地方嘛

相关了解……

你可能感兴趣的内容

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 非常风气网