c语言利用一维数组 元素变长 宏定义)将一个数组按逆序重新排序
时间: 2023-10-07 19:07:44 浏览: 152
可以使用以下的宏定义来实现将一个数组按逆序重新排序:
```c
#define REVERSE(arr, n) do { \
int i, j; \
for (i = 0, j = n - 1; i < j; i++, j--) { \
int temp = arr[i]; \
arr[i] = arr[j]; \
arr[j] = temp; \
} \
} while (0)
```
其中,`arr` 表示要进行逆序排序的数组名,`n` 表示数组的元素个数。这个宏定义使用了一个 `do...while` 循环结构,来实现将数组按逆序重新排序的功能。在循环体中,使用了两个指针 `i` 和 `j` 分别从数组的头部和尾部开始遍历,然后交换它们所指向的元素,直到指针相遇为止。
阅读全文