← 大华硬件逻辑岗(19.09.25)

推荐答案 测试一下

设有定义:int x[2][3];则以下关于二维数组x的叙述错误的是

A x[0]可以看作是由3个整型元素组成的一维数组 B x[0]和x[1]是数组名,分别代表不同的地址常量 C 数组x包含6个元素 D 可以用语句x[0]=0;为数组所有元素赋初值0
单选题 中等 笔试真题单选

参考答案

D。x[0]是二维数组x的第一行,它是一个包含3个整型元素的一维数组。在C语言中,数组名代表数组首元素的地址,且是地址常量,不能作为左值被赋值。因此x[0]=0;试图修改地址常量,是非法的。给整个二维数组所有元素赋初值0的正确方法是使用memset(x,0,sizeof(x))或两层循环遍历每个元素。选项A正确,x[0]本身就是一个一维数组,可由下标访问其元素。选项B正确,x[0]和x[1]分别代表第一行和第二行的数组名,都是地址常量。选项C正确,数组x有2行3列,共6个元素。

涉及知识点

  • 二维数组的结构与元素个数
  • 数组名是地址常量
  • 数组名不能作为左值
  • 数组的初始化方法
← 上一题
登录后反馈错题
下一题 →