问题
单项选择题
以下程序运行后的输出结果是
#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都指向同一个存储空间。所以当依次执行"*a=1; *b=2; *c=3;"三次赋值后,该存储空间存放的是最后一次赋值的结果3。所以*a、*b、*c的值都为3。