mai() {int *a,*b,*c; a=b=c=(int*)malloc(sizeof(int)); *a=1;*b=2;*c=3;a=b;printf("%d,%d,%d",*a,*b,*c运行后的结果是3,3,3 这是怎么得出的结果?

来源:学生作业帮助网 编辑:作业帮 时间:2024/11/16 00:26:44
mai() {int *a,*b,*c; a=b=c=(int*)malloc(sizeof(int)); *a=1;*b=2;*c=3;a=b;printf(
x͒j@_%BD]&1&iU X5/BW(ꦴQk}ѼEO2( ],&gD'2(湓T(hR5UWP Jsz:>%ˀQYԘ,j\^.V {uS#vc;]r@;ZtL!UB/s~1O(>-_@cȨ'v-V%v 8脳wfJA;5@/.ȰDSy}xDM}PR)CvĮ1 "71ujC"T. l=

mai() {int *a,*b,*c; a=b=c=(int*)malloc(sizeof(int)); *a=1;*b=2;*c=3;a=b;printf("%d,%d,%d",*a,*b,*c运行后的结果是3,3,3 这是怎么得出的结果?
mai() {int *a,*b,*c; a=b=c=(int*)malloc(sizeof(int)); *a=1;*b=2;*c=3;a=b;printf("%d,%d,%d",*a,*b,*c
运行后的结果是3,3,3 这是怎么得出的结果?

mai() {int *a,*b,*c; a=b=c=(int*)malloc(sizeof(int)); *a=1;*b=2;*c=3;a=b;printf("%d,%d,%d",*a,*b,*c运行后的结果是3,3,3 这是怎么得出的结果?
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我.