选择题
32.
有以下程序,程序运行后的输出结果是______。
#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、
2,2,3
B、
3,3,3
C、
1,2,3
D、
1,1,3
【正确答案】
B
【答案解析】
a=b=c=(int*)malloc(sizeof(int));含义为申请了一个整型的存储空间,让指针a,b,c分别指向它,*a=1;*=2;*c=3;语句的含义为所申请的整型存储空间的内容,*c=3最后执行导致存储空间的内容为3。a=b的含义让指针a也指向指针b所指向的存储空间,a,b,c都指向整型的存储空间,里边的内容为3。
提交答案
关闭