若有说明:int a[3][4];则对a 数组元素的正确引用是 () A a[2][4] B a[1][3] C a[1+1][0] D a(2)(1)

请问答案是什么,还是为什么,主要是为什么?
2024-10-31 08:22:33
有3个网友回答
网友(1):

答案是B、C。

A、a[2][4]是错的,原因是第一维越界,不存在a[]。

D、a(2)(1)是错的,只有函数、强制类型转换、算式才使用圆括号。

对于a[3][4]说明有12元素,行从0到2,列从0到3,a[0][4]的列超界。

数组说明的一般形式为:类型说明符数组名 [常量表达式],其中,类型说明符是任一种基本数据类型或构造数据类型。数组名是用户定义的数组标识符。方括号中的常量表达式表示数据元素的个数,也称为数组的长度。

扩展资料:

数组元素是组成数组的基本单元。数组元素也是一种变量, 其标识方法为数组名后跟一个下标。下标表示了元素在数组中的顺序号。数组元素通常也称为下标变量。必须先定义数组, 才能使用下标变量。在C语言中只能逐个地使用下标变量,而不能一次引用整个数组。

例如:

a[5]

a[i+j]

a[i++]

都是合法的数组元素。

参考资料来源:百度百科-数组元素

网友(2):

A、a[2][4]是错的,原因是第一维越界,不存在a[][4]。
D、a(2)(1)是错的,只有函数、强制类型转换、算式才使用圆括号。
所以正确的答案是B、C。

网友(3):

选B和C

int a[3][4],数组高维下标从0-2,数组低维下标从0-3
A的低维下标是4,超过最大低维下标,所以不合法
B的两个下标都落在合法区域
C的高维下标是1+1常量,即为2,也是合法的
D的表达方式不合法,数组下标要用[],而不能用()