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

问题描述:

若有以下定义语句: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]]
我有疑问的是选项a,不是以前做到过题目说不能以变量作为数组下标吗,--i不是变量?

定义数组时用的是常量表达式,而引用数组元素时可以使常量还以是整型表达式