首页 > 试题广场 >

若有定义语句: int a[10]; 则下列对 a 数组元素

[单选题]

若有定义语句: int a[10]; 则下列对 a 数组元素正确引用的是( )。

  • a[10%2]
  • a[20/2]
  • a[10]
  • a(1)
推荐
A。考察的是数组声明数组引用的区别。

声明定义:

  • type arrayName [ arraySize ]; //arraySize 必须是一个大于零的整数常量,表示元素的数量。
  • 所以题目中:int a[10];  //元素个数为10,下标[0-9]
  • 选项A:a[10%2]表示a[0] 元素,下标索引从0开始。所以A是正确的
  • 选项B:a[20/2]表示a[10],下标越界。所以B错误。
  • 选项C:a[10]同属下标越界。所以C错误。
  • 选项D:a(1)非法引用。所以D错误。

编辑于 2019-08-02 14:47:18 回复(0)

选A

数组的定义语句 “ int a[10] ” 表明数组元素共十个。
A选项:a[10%2] = a[0] 数组的下标索引从0开始所以A是合法的,正确。
B选项:a[20/2] = a[10] 十元素数组下标到9结束,a[10]越界,错误。
C选项:a[10],同B,错误。
D选项:a(1),访问格式错误。

发表于 2019-08-01 16:07:18 回复(0)
答案:A 因为属于长度定义为10,则属于的索引号为0-9,%是做除法取余,10除2等于5余0,则为a[0],b,c超出索引号范围,d的括号格式不对,固选A
发表于 2019-08-02 00:41:05 回复(0)
a[10]的有效引用范围是a[0], a[1], ..., a[9],四个选项对应如下:

*   A.a[10%2]=a[0]属于有效引用
*   B.a[20/2]=a[10]属于无效引用
*   C.a[10]属于无效引用
*   D.a(1)没有这种方式
发表于 2019-08-01 15:14:14 回复(0)
答案:A 解析:int a[10],表示长度为10的整形数组,下标索引是0~9十个索引。 直接排除D,语法错误 A选项,取余操作,结果为a[0] B选项,除法操作,结果为a[10] 由于索引值只能为[0,9] 所以,答案是 A
发表于 2019-08-01 14:40:08 回复(0)