问题 单项选择题

有以下程序 #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); } 程序运行后的输出结果是( )。

A.3,3,3

B.2,2,3

C.1,2,3

D.1,1,3

答案

参考答案:A

解析: a=b=c=(int*)malloc(sizeof(int));含义为申请了一个整型的存储空间,让指针a,b,c分别指向它,*a=1;*b=2,*c=3;语句的含义为所申请的整型存储空间的内容,*c=3最后执行导致存储空间的内容为3。a=b的含义让指针a也指向指针b所指向的存储空间,a,b,c都指向整型的存储空间,里边的内容为3。

多项选择题
问答题