#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); }
运行结果是:
14
35
17
这段代码定义了一个结构体`st`,包含两个整型成员`x`和`y`。然后定义了一个该结构体类型的数组`a`,包含两个元素,并用`{5, 7, 2, 9}`初始化。初始化时,数组的第一个元素`a[0]`的`x`成员被赋值为`5`,`y`成员被赋值为`7`;第二个元素`a[1]`的`x`成员被赋值为`2`,`y`成员被赋值为`9`。
在`main`函数中,使用`printf`函数打印`a[0].y * a[1].x`的结果。根据初始化的值,`a[0].y`等于`7`,`a[1].x`等于`2`,所以`a[0].y * a[1].x`等于`7 * 2`,即`14`。
因此,这段代码的输出结果是`14`。
在`main`函数中,使用`printf`函数打印`a[0].y * a[1].x`的结果。根据初始化的值,`a[0].y`等于`7`,`a[1].x`等于`2`,所以`a[0].y * a[1].x`等于`7 * 2`,即`14`。因此,这段代码的输出结果是`14`。
35xy
350
解析:首先是定义结构体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。
14 #include <stdio.h>
// 定义一个结构体 st struct st { int x; int y; } a[2] = { {5, 7}, {2, 9} }; // 正确初始化结构体数组
// 主函数 int main() { // 计算并打印 a[0].y 和 a[1].x 的乘积 printf("%d\n", a[0].y * a[1].x); return 0; // 返回0表示程序正常结束 }
在struc st中,先int x(0),后int y(1)
a【2】=4个元素,范围超了,换成二维数组
a[0].y=a[0][1]=7;
a[1].x=a[1][0]=2.
a[0].y*a [1].x=14
a[0].y=7
a[0].x=5
a[1].x=2
a[1].y=9
7*2=14
5, 7 初始化a[0]的x,y 2,9 初始化a[1]的x,y 所以结果是7* 2=14
用户登录可进行刷题及查看答案
登录后提交答案