int array[]={0,2,4,6,8,10};
array[array[2]];
的价值是多少?
它的显示是8
我们尝试了这个问题,但没有得到为什么答案是8
答案 0 :(得分:1)
要理解它,需要一些数组和索引基础。
例如:
Edit
表示强>
a [0] = 0,a 1 = 2,a [2] = 4,等等。
C / C ++数组索引从0开始,索引有效到int array[]={0,2,4,6,8,10};
所以,0..length-1
,数组的第三个元素。
然后,array[2] --> 4
- > array[array[2]]
- > 8,这是数组的第五个元素。
请查看以下来源以获取更多信息: C++ Array reference
答案 1 :(得分:0)
int array[]={0,2,4,6,8,10};
您已声明一个包含六个整数值的int数组。它将存储为:
array[0] = 0
array[1] = 2
array[2] = 4
array[3] = 6
array[4] = 8
array[5] = 10
array [array [2]] 在这一行中你试图检索索引 array [2]数组的值(它给你4作为数组[2] = 4)。它就像数组[4]给你8。
答案 2 :(得分:0)
一个简单的答案就是了解如何评估这条线 首先,当你宣布:
int array[]={0,2,4,6,8,10};
你得到:
array[0] = 0
array[1] = 2
array[2] = 4
array[3] = 6
array[4] = 8
array[5] = 10
现在当您尝试评估array[array[2]]
时:
首先评估语句array[2]
为4
,然后array[4]
进行评估,评估结果为8
array[array[2]] --> array[ ( array[2] = 4 ) ] --> array[ 4 ] --> 8
希望这有点清除
答案 3 :(得分:0)
根据这个数组:
array[0] = 0
array[1] = 2
array[2] = 4
array[3] = 6
array[4] = 8
array[5] = 10
你想得到的值:array [array [2]]
所以第一次得到里面的内容:array [2]
array [2]:4
so array [array [2]] - >阵列[4]
因此价值是:8
答案 4 :(得分:0)
好的,因为它在这里被认为是一个多维数组(这意味着数组中的数组)因此,你需要找到与内部数组的索引相对应的元素,然后该值实际上是指数外部阵列。
例如:
int array1[]: {1,2,3,4,5,6,7,8,9,10}
int array[array1[3]]
以下输出为: 首先得到内部数组的值: 4 之后,这将是外部数组的索引号,它将对应于数组中的值: 5 。