若有以下数组定义,int arr[]={5,4,3,2,1},i=4;则下面对arr数组中的元素引用不正确的是(C)
A arr[--i] B arr[2*2] C arr[arr[0]] D arr[arr[i]
BC我都明白,
第一个问题是,大神解释一下A选项中的arr[--i]是什么意思,为什么解析中--i=3?
第二个问题是,D选项中,arr[i]=arr[4]=1,arr[arr[i]]=arr[1]=4才对,可解析中给的arr[1]=5,明明是arr[0]=5才对啊!是不是解析错了?
A选项 --i 是先将i减去1在计算 所以就是arr[3] 即第四个元素 2 正确
D选项 首先看内层arr[i]=arr[4]=1,然后就是arr[1]=2 即第二个元素4 正确
arr[1]=4 写错了 写成2了 尴尬
数组中只有五个元素,arr【i】中i的最大值只能是4,不能超过4,c选项中的arr[arr[0]=arr[5],超出数组范围,所以c选项错误