[英]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
- 是一個包含 20 個元素的數組
count
- 是一個包含 6 個元素的數組
for
循環遍歷i = 0
到包括i = 20 - 1 = 19
。
在每個迭代步驟中,它執行++count[optionList[i]];
讓我們計算++count[optionList[i]];
對於 i=3 一步一步:首先我們查看optionList[i]
,因此我們從optionList
中獲取第 i 個元素。 optionList
中的第三個元素(從 0 開始計數)是 2。因此++count[optionList[i]]
的計算結果為++count[2]
。 ++value
表示將 value 后面的value
加一。 ++count[2]
表示count
中的第二個元素加一。 所以在執行++count[optionList[i]];
數組count
現在看起來像這樣: {0, 0, 1, 0, 0, 0}
(如果之前看起來像{0, 0, 0, 0, 0, 0}
)
將optionList
視為索引數組。 循環在optionList
中的每個索引處遞增count
。
如果您從“由內而外”的方式考慮這一點,則optionList[i]
首先得到評估。 這將返回optionList[i]
處的值
例如)如果i = 0
, optionList[i] = 4
然后count[{value}]
被評估。
例如)如果i = 0
, optionList[i] = 4
。 在這種情況下, count[optionList[i]]
與count[4]
相同。
因此, count
數組中的第四個位置會增加前綴++
。 循環本質上是遍歷並遞增由optionList[i]
指定的每個位置的count
數組的值。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.