C言語で一次元配列を逆にする方法は何ですか?
C言語で一次元配列を逆転させる方法は、2つのポインタを使用して実現できます。まず、配列の最初を指すポインタを定義し、配列の最後を指すポインタを定義し、それらが指す要素を交換しながら、両方のポインタを移動させ、両方のポインタが出会うまで続けます。以下はサンプルコードです:
#include <stdio.h>
void reverseArray(int arr[], int size) {
int *start = arr; // 指向数组开头的指针
int *end = arr + size - 1; // 指向数组末尾的指针
while (start < end) {
// 交换两个指针所指向的元素
int temp = *start;
*start = *end;
*end = temp;
// 移动两个指针
start++;
end--;
}
}
int main() {
int arr[] = {1, 2, 3, 4, 5};
int size = 5;
reverseArray(arr, size);
// 打印逆置后的数组
for (int i = 0; i < size; i++) {
printf("%d ", arr[i]);
}
return 0;
}
上記のコードを実行すると、5 4 3 2 1 が出力され、配列が逆になります。