有以下程序:
#include< stdio.h >
struct st
{
int x:
int y;
} a[2]={5,7,2,9};
main()
{
printf("%d\n",a[0].y*a[1].x);
}
程序运行后的输出结果是( )。
【正确答案】 C
【答案解析】首先是定义结构体st,st中共有两个整型成员x,y。然后定义一个st类型的数组a,a的长度为2,即数组中含有两个st类型的元素,分别是a[0]和a[1]。对a进行初始化,此题是按照存储顺序进行初始化,即将5赋给a[0]中的x(即a[0].x=5),将7赋给a[0]中的y(即a[0].y=7),将2赋给a[1]中的x(即a[1].x=2),将9赋给a[1]中的y(即a[1].y=9)。执行main函数,输出表达式a[0].y*a[1].x的值,即7*2的值14。