问题 单项选择题

若有定义语句:int m[]=5, 4, 3, 2, 1, i=4; ,则下面对m数组元素的引用中错误的是( )。

A) m[--i]
B) m[2*2]
C) m[m[0]]
D) m[m[i]]

答案

参考答案:C

解析: 本题考查的是数组。在C语言中,数组的下标是从0开始的,所以它的上限是数组元素个数减1。如果超过这个范围来引用数据元素就会溢出,造成运行时错误。本题的数组m有5个元素,所以它的下标范围是0~4。选项A)--i的值为3,在范围内,不会出错;选项B)2*2的值为4,在范围内,不会出错;选项C)m[0]等于5,超出范围,所以错误的是C);选项D)m[i]的值,也就是m[4]的值为1,在范围内不会出错。故本题应该选择C)。

选择题
单项选择题