C中数组内部数组的增量
Increment of array inside array in C
#include <stdio.h>
#define NUMBER 20
#define OPTION 6
void main ()
{
int optionList[NUMBER]=
{4,4,5,2,1,3,1,0,4,3,3,1,2,5,4,2,3,4,3,1};
int count[OPTION] = { 0 } ;
for (int i = 0; i <= NUMBER-1; i++)
++count[optionList[i]];
}
我不明白 ++count[optionList[i]]。它是数组'count'和'optionList'的循环增量吗?它是如何工作的?
如果您从“由内而外”的方式考虑这个问题,optionList[i]
首先得到评估。 returns optionList[i]
处的值
ex) 如果 i = 0
, optionList[i] = 4
然后 count[{value}]
得到评估。
ex) 如果 i = 0
,optionList[i] = 4
。 count[optionList[i]]
在这种情况下与 count[4]
相同。
因此 count
数组中的第四个位置将增加前缀 ++
。循环实质上遍历并递增 count
数组在每个由 optionList[i]
.
指定的位置的值
optionList
- 是一个包含 20 个元素的数组
count
- 是一个包含 6 个元素的数组
for
循环遍历 i = 0
以包含 i = 20 - 1 = 19
。
在每个迭代步骤中,它执行 ++count[optionList[i]];
让我们逐步计算 i=3 的 ++count[optionList[i]];
:
首先我们查看 optionList[i]
,因此我们从 optionList
中取出第 i 个元素。
optionList
(从0开始数)的第3个元素是2。
因此 ++count[optionList[i]]
的计算结果为 ++count[2]
。 ++value
表示将 value
后面的值加一。 ++count[2]
表示 count
的第 2 个元素增加 1。所以在执行 ++count[optionList[i]];
之后,数组 count
现在看起来像这样: {0, 0, 1, 0, 0, 0}
(如果它看起来像 {0, 0, 0, 0, 0, 0}
之前)
结论
将 optionList
视为索引数组。
循环在 optionList
.
的每个索引处递增 count
#include <stdio.h>
#define NUMBER 20
#define OPTION 6
void main ()
{
int optionList[NUMBER]=
{4,4,5,2,1,3,1,0,4,3,3,1,2,5,4,2,3,4,3,1};
int count[OPTION] = { 0 } ;
for (int i = 0; i <= NUMBER-1; i++)
++count[optionList[i]];
}
我不明白 ++count[optionList[i]]。它是数组'count'和'optionList'的循环增量吗?它是如何工作的?
如果您从“由内而外”的方式考虑这个问题,optionList[i]
首先得到评估。 returns optionList[i]
ex) 如果 i = 0
, optionList[i] = 4
然后 count[{value}]
得到评估。
ex) 如果 i = 0
,optionList[i] = 4
。 count[optionList[i]]
在这种情况下与 count[4]
相同。
因此 count
数组中的第四个位置将增加前缀 ++
。循环实质上遍历并递增 count
数组在每个由 optionList[i]
.
optionList
- 是一个包含 20 个元素的数组
count
- 是一个包含 6 个元素的数组
for
循环遍历 i = 0
以包含 i = 20 - 1 = 19
。
在每个迭代步骤中,它执行 ++count[optionList[i]];
让我们逐步计算 i=3 的 ++count[optionList[i]];
:
首先我们查看 optionList[i]
,因此我们从 optionList
中取出第 i 个元素。
optionList
(从0开始数)的第3个元素是2。
因此 ++count[optionList[i]]
的计算结果为 ++count[2]
。 ++value
表示将 value
后面的值加一。 ++count[2]
表示 count
的第 2 个元素增加 1。所以在执行 ++count[optionList[i]];
之后,数组 count
现在看起来像这样: {0, 0, 1, 0, 0, 0}
(如果它看起来像 {0, 0, 0, 0, 0, 0}
之前)
结论
将 optionList
视为索引数组。
循环在 optionList
.
count