看不懂第五行 希望能详细解释

#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",*a,*b,*c); }
程序运行后的输出结果是( )
A)3,3,3 B)2,2,3 C)1,2,3 D)3,2,1
【参考答案】A
#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",*a,*b,*c); }