使用for循环来反转数组无济于事

时间:2019-01-28 16:45:57

标签: c++ arrays reverse

我试图通过使用for循环来反转由15个数字组成的数组,但是由于某种原因,数组顺序保持不变。

我的代码如下:

int main()
{
    int arr[15] = { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15 };
    int i, j, temp;
    for (i = 0; i < 15; i++)
    {
        temp = arr[15 - i - 1];
        arr[15 - i - 1] = arr[i];
        arr[i] = temp;
    }
    j = 0;
    do {
        std::cout << arr[j] << " ";
        j++;
    } while (j < 15);
}

知道我做错了什么吗?

1 个答案:

答案 0 :(得分:5)

是的,一旦i经过中点,您将再次交换所有元素。

要扭转,您只需要走一半即可;即将i设置为15/2。