我先来给大家介绍两个方法的原理
第一种方法就是再创建一个大小相同的数组,作为其中一个数组的临时拷贝,然后实现交换
第二种就是利用循环依次的进行交换数组的元素
原理很简单,直接就上代码了,大家有不懂的可以给我留言
#include <stdio.h>
void Change(int arr[], int arr1[], int sz)
{
int ret = 0;
int i = 0;
while (i < sz)
{
ret = arr[i];
arr[i] = arr1[i];
arr1[i] = ret;
i++;
}
}
void print(int arr[], int arr1[], int sz)
{
int i = 0;
for (i = 0; i < sz; i++)
{
printf("%d ", arr[i]);
}
printf("\n");
for (i = 0; i < sz; i++)
{
printf("%d ", arr1[i]);
}
printf("\n");
}
int main()
{
int arr[] = { 6,6,6,6,6,6,6 };
int arr1[] = { 7,7,7,7,7,7,7 };
int sz = sizeof(arr) / sizeof(arr[0]);
Change(arr, arr1, sz);
print(arr, arr1, sz);
int arr2[20] = {0};//这个数组的大小必须比之前的大——>=sz;
int i = 0;
//先把arr[]的元素全部转移到arr2[]中
for (i = 0; i < sz; i++)
{
arr2[i] = arr[i];
}
//同样的方法将arr1[]的元素全部给arr[]
for (i = 0; i < sz; i++)
{
arr[i] = arr1[i];
}
//再将arr2[]的元素给arr1[]
for (i = 0; i < sz; i++)
{
arr1[i] = arr2[i];
}
//浪费空间
print(arr, arr1, sz);
return 0;
}