问题
单项选择题
以下程序运行后的输出结果是 #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。