为啥结果是21啊,xx你的帮助

以下程序的运行结果是 : 21

#include <stdio.h>

int main(void)

{

struct S

{

int a,b;

}data[2]={10,100,20,200};

struct S p=data[1];

printf("%d\n",++(p.a));

return 0;

}

数组下标从零开始p[0].a=10,p[0].b=100…
p.a等于data[1].a就等于20自增1就输出21了