有以下程序 #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; p

admin2018-10-16  20

问题 有以下程序
#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; *b=2; *c=3;语句的含义为所申请的整型存储空间的内容,*c=3最后执行导致存储空间的内容为3。a=b的含义让指针a也指向指针b所指向的存储空间,a,b,c都指向整型的存储空间,里边的内容为3。
转载请注明原文地址:https://jikaoti.com/ti/6wa0FFFM
0

最新回复(0)