以下程序的输出结果是( )。
#include<stdio.h> main()
struct st {p=aa;
{int x;int*y;}*p; printf("%d\n",++(p->x));}
int dt[4]={1,2,3,4};
struct st aa[4]={2,&dt[0],3,&dt[0],4,
&dt[0],5,&dt[0],};
【正确答案】 C
【答案解析】程序首先将指针p指向结构体数组aa的首地址,通过p->x引用了结构体数组aa[0]的第一个成员2;++(p->x)是将p识的值加l,所以输出结果为3。