这个怎么输出呀姐还一下,谢谢

有以下程序: 

 

#include <stdio.h> 

 

struct S {int a,b;}data[2]={10,100,20,200}; 

 

main() 

 

{struct S p=data[1]; 

 

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

 

 

程序运行后的输出结果是().

结果21:

供参考:

#include <stdio.h>

struct S {
      int a,b;
}data[2]={{10,100},{20,200}};//定义了结构体变量数组data[2],并初始化数组的元素。
                             //data[0].a= 10,data[0].b=100
                             //data[1].a= 20,data[1].b=200
main()
{
    struct S p=data[1]; //定义结构体变量p,并将数组data[1]d的值赋值给p,
                        //相当于p.a=data[1].a=20,p.b=data[1].b
    printf("%d\n",++p.a); //++p.a = ++20 = 21
}