有以下程序: #include<stdio.h> struct st { int x: int y; } a[2]={5,7,2,9}; main() { printf("%d\n",a[0].y*a[

admin2020-01-10  36

问题 有以下程序:
   #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);
   }
   程序运行后的输出结果是(    )。

选项 A、10
B、18
C、14
D、63

答案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。
转载请注明原文地址:https://jikaoti.com/ti/DKG0FFFM
0

最新回复(0)