当前位置: > 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...
题目
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 这是怎么得出的结果?

提问时间:2021-12-20

答案
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我.
举一反三
我想写一篇关于奥巴马的演讲的文章,写哪一篇好呢?为什么好
奥巴马演讲不用看稿子.为什么中国领导演讲要看?
想找英语初三上学期的首字母填空练习……
英语翻译
1,人们染上烟瘾,最终因吸烟使自己丧命.
版权所有 CopyRight © 2012-2019 超级试练试题库 All Rights Reserved.