将数组1中的内容和数组2中的内容进行交换。(数组一样大)
数组名是数组的首元素地址,是一个常量的地址。
在这里我们需要先写两个数组,然后利用for循环进行交换,再利用for循环进行打印就完成啦。
交换时,要借助一个空数组进行临时存放,就像模拟交换两瓶水那样,借助空瓶子存水。
代码如下:
#include<stdio.h>
//数组名是数字首元素的地址,是一个常量的地址。
int main()
{
int arr1[] = { 1,3,5,7,9 };
int arr2[] = { 2,4,6,8,0 };
int i = 0;
int sz = sizeof(arr1) / sizeof(arr1[0]);
for (i = 0; i < sz; i++)
{
int tmp = arr1[i];
arr1[i] = arr2[i];
arr2[i] = tmp;
}
for (i = 0; i < sz; i++)
{
printf("%d ", arr1[i]);
}
printf("\n");
for (i = 0; i < sz; i++)
{
printf("%d ", arr2[i]);
}
return 0;
}
也可以利用函数来写:
在这里我们需要建立两个函数,一个打印函数print,和一个交换函数swap_arr。
打印函数代码:
void print(int arr[], int sz)
{
int i = 0;
for (i = 0; i < sz; i++)
{
printf("%d ", arr[i]);
}
printf("\n");
}
交换函数代码:
void swap_arr(int arr1[], int arr2[],int sz)
{
int i = 0;
for (i = 0; i < sz; i++)
{
int tmp = arr1[i];
arr1[i] = arr2[i];
arr2[i] = tmp;
}
}
总函数代码:
#include<stdio.h>
void print(int arr[], int sz)
{
int i = 0;
for (i = 0; i < sz; i++)
{
printf("%d ", arr[i]);
}
printf("\n");
}
void swap_arr(int arr1[], int arr2[],int sz)
{
int i = 0;
for (i = 0; i < sz; i++)
{
int tmp = arr1[i];
arr1[i] = arr2[i];
arr2[i] = tmp;
}
}
int main()
{
int arr1[] = { 1,3,5,7,9 };
int arr2[] = { 2,4,6,8,0 };
int i = 0;
int sz = sizeof(arr1) / sizeof(arr1[0]);
swap_arr(arr1, arr2, sz);
print(arr1, sz);
print(arr2, sz);
return 0;
}
以上就是交换数组的全部代码啦。