在线编译器 C

#include <stdio.h> void reverse_array(int *a, int n) { int left = 0; int right = n - 1; for (left = 0; left < right; left++, right--) { int temp = a[left]; a[left] = a[right]; a[right] = temp; } }
这段代码定义了一个函数 `reverse_array`,它接收一个整型数组的指针 `a` 和数组长度 `n`,然后通过交换首尾元素的方式将数组原地反转。函数内部使用两个指针(或索引)`left` 和 `right`,从两端向中间移动,每次交换对应位置的元素,直到 `left` 不再小于 `right`。

- 检查循环条件 `left < right` 是否正确处理了数组长度为偶数或奇数的情况。当 `n` 为奇数时,中间元素不需要交换,你的循环条件已经避免了这一点,这是正确的。
- 注意函数没有返回值,也没有打印结果,它直接修改了原数组。如果你在调用后需要验证结果,可以在主函数中打印数组内容。