非欧切尔 2023-03-10 21:03 采纳率: 90.5%
浏览 11
已结题

ABC哪个是正确的呀?解释一下其它的选项为什么错?还有在结构体数组中,s可以看作是s[0]吗?

题干:设有定义:

struct

{

int n;

float x;

} s[2],m[2]= {{10,2.8},{0,0.0}};

则以下赋值语句中正确的是()。

A

s[0]=m[1];
B

s=m;
C

s.n=m.n;
D

s[2].x=m[2].x;
  • 写回答

1条回答 默认 最新

  • 快乐鹦鹉 2023-03-10 21:14
    关注

    s不能看成s[0],s相当于结构体数组首地址,是指针类型,而s[0]是结构体数组第一个元素,是结构体类型。应该是s和&s[0]是同一个地址,两者相当
    A。正确,两个结构体类型可以直接赋值,因为结构体内没有特殊类型(实现了=操作符的特殊类型也可以赋值)
    B。错误,数组不可以直接赋值
    C。错误,s和m是数组,不存在这种访问方法
    D。错误。s[2]和m[2]是越界访问

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论 编辑记录

报告相同问题?

问题事件

  • 系统已结题 3月18日
  • 已采纳回答 3月10日
  • 创建了问题 3月10日

悬赏问题

  • ¥15 需要仿真图,简单的二阶系统实例
  • ¥15 stm32光控照明仿真
  • ¥15 使用人工智能的方法生成满足一定统计参数要求的随机数序列
  • ¥15 SENT协议中相关问题咨询
  • ¥15 URL地址href跳转问题
  • ¥15 mysql数据库备份恢复
  • ¥15 mmdetection mask-rcnn
  • ¥35 Hadoop实训论文成品!标题是云盘开发 价格可私 急
  • ¥25 matlab可以将微分方程的解显示为相图形式吗
  • ¥35 Hadoop实训论文成品!任意标题价格可私急