Я не вижу, где я сделал ошибку в этом коде:
void swap(int* a, int* b)
{
int temp = *a;
*a = *b;
*b = temp;
}
void array_reverse(int *begin, int *end)
{
int *end2 = end;
int *q = 0;
for (q = begin; q < end; q += 1)
{
swap(q, end2);
end2 -= 1;
}
}
он должен инвертировать массив:
arr{ 1, 2, 3}
становится:
arr{ 3, 2, 1}
Мой вывод:
[ 1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
становится:
[111009824, 2, 3, 4, 5, 6, 7, 8, 9, 10]
(ну, на самом деле этот первый элемент всегда меняется каждый раз, когда я компилирую и проверяю свою функцию, и я предполагаю, что я получаю случайные значения)