我正在尝试下面的程序?它的显示输出是8,怎么样?

时间:2018-03-29 04:39:35

标签: c arrays

int array[]={0,2,4,6,8,10};

array[array[2]];的价值是多少? 它的显示是8

我们尝试了这个问题,但没有得到为什么答案是8

5 个答案:

答案 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