void doSomething()
{
    int hist[5] = { 0 };
    int num_bins = 5;
    int indices[10] = { 0, 0, 2, 3, 3, 3, 3, 4, 4, 4 };
    int num_indices = 10;
    int i;

    for (i = 0; i < num_indices; i++)
    {
        hist[indices[i]]++;
    }
    for (i = 0; i < num_bins; i++)
    {
        printf("%d ", hist[i]);
    }
    printf("\n");
}


假设我有正确的库,这是课堂上的概念性问题。我想知道数组的答案是2 0 1 4 3。

最佳答案

线

hist[indices[i]]++


说“转到索引histindices[i]数组的元素,然后将其递增。”如果将数组视为计数器列表,则表示要在位置indices[i]处递增计数器。

此代码构建数组中各种数字的频率的直方图。上面代码背后的思想是遍历数组并增加每个元素的频率。

希望这可以帮助!

关于c - 在此函数中的数组之后,++会做什么?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/19143444/

10-17 02:42