带有数组名称的增量运算符,它有什么作用

Increment operator with array name, what does it do?

本文关键字:运算符 什么 作用 数组      更新时间:2023-10-16

我基本上是用这段代码来了解数组值的移动。我很好,直到它说++mode[i][0]靠近底部的地方。这实际上增加了什么?顺便说一下,这不是我的代码。

    int main()
    {
        int arr[10];
        int mode[10][2];
        cout << "Enter 10 integer valuesn";
        for (int l = 0; l < 10; l++)        
        {                                   
            cout << "value " << l << ":";   
            cin >> arr[l];  
        }

        int i, j, temp;
        for (i = 0; i < 10; i++)
        {
            for (j = 9; j > i; j--)
            {
                if (arr[j] < arr[j - 1])
                {
                    int temp = arr[j];      
                    arr[j] = arr[j - 1];    
                    arr[j - 1] = temp;
                    for (int x = 0; x < 10; x++)
                    {
                        cout << arr[x] << " ";
                }
                cout << "n";
            }
        }
    }
    cout << "Highest number = " << arr[9] << "nLowest number = " << arr[0];
    for (i = 0; i < 2; i++)
    {
        for (j = 0; j < 10; j++)
        {
            mode[j][i] = 0;
        }
    }
    mode[0][0] = 1;
    for (i = 0; i < 10; i++)
    {
        for (j = 0; j < 10; j++)
        {
            if (arr[i] == arr[j + 1])
            {
                ++mode[i][0];
                mode[i][1] = arr[i];
            }
        }
    }

你可以这样看:

++(mode[i][0]);

因此,它将增加存储在mode[i][0]中的值

mode[i][0] = some_int以来,特别是数组中索引处的第一个元素[i]它正在增加存储在那里的值

operator[]的优先级高于operator++,所以++mode[i][0]实际上被视为++(mode[i][0]),而不是像你想象的那样(++mode)[i][0]

代码递增数组中的特定int,而不是递增数组本身。