使用for循环来反转数组什么都不做

hyp*_*kat 0 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);
}
Run Code Online (Sandbox Code Playgroud)

知道我做错了什么吗?

Bat*_*eba 5

是的,一旦i超过中途点,你就会再次交换所有元素.

要扭转,你只需要走一半; 即运行i到15/2.