📅  最后修改于: 2023-12-03 15:29:44.545000             🧑  作者: Mango
在C语言中,要想交换数组中的元素,需要使用第三方变量来保存一个元素值,再用另一个元素值覆盖该位置。下面是一个示例代码:
#include <stdio.h>
void swap(int *a, int *b) {
int temp = *a;
*a = *b;
*b = temp;
}
int main() {
int arr[] = {3, 6, 2, 8, 1};
int n = sizeof(arr) / sizeof(arr[0]);
// 交换 arr[0] 和 arr[2]
swap(&arr[0], &arr[2]);
// 输出数组
for(int i = 0; i < n; i++) {
printf("%d ", arr[i]);
}
return 0;
}
代码输出为:2 6 3 8 1
要想交换数组中任意两个元素,只需要传入两个不同的数组下标即可,示例代码如下:
#include <stdio.h>
void swap(int *a, int *b) {
int temp = *a;
*a = *b;
*b = temp;
}
int main() {
int arr[] = {3, 6, 2, 8, 1};
int n = sizeof(arr) / sizeof(arr[0]);
// 交换 arr[1] 和 arr[4]
swap(&arr[1], &arr[4]);
// 输出数组
for(int i = 0; i < n; i++) {
printf("%d ", arr[i]);
}
return 0;
}
代码输出为:3 1 2 8 6
以上就是C语言中交换数组元素的方法,需要注意的是,交换元素时需要传入指向数组元素的指针,否则会发生数据类型错误。