您的位置:首页 > 其它

将数组A中的内容和数组B中的内容进行交换。(数组一样大)

2016-07-12 21:35 323 查看
题目比较简单,首先给定两个数组,进行直接交换。
int main()
{
int arr1[5] = { 1, 2, 3, 4, 5 };
int arr2[5] = { 5, 4, 3, 2, 1 };
int len = sizeof(arr1) / sizeof(arr1[0]);
for (int i = 0; i < len; i++)
{
int tmp = arr1[i];
arr1[i] = arr2[i];
arr2[i] = tmp;
}
for (int i = 0; i < len; i++)
{
printf("%d ", arr1[i]);
}
printf("\n");
for (int i = 0; i < len; i++)
{
printf("%d ", arr2[i]);
}
system("pause");
return 0;
}
这里还可以写一个Swap函数来进行交换,注意调用函数时,传过去len这个表示数组大小的参数,否则若是在函数内部求数组大小会得到指针大小,造成错误。
#include<stdio.h>
void Swap(int* arr1,int * arr2 ,int len)
{
for (int i = 0; i < len; i++)
{
int tmp = arr1[i];
arr1[i] = arr2[i];
arr2[i] = tmp;
}
}
int main()
{
int arr1[5] = { 1, 2, 3, 4, 5 };
int arr2[5] = { 5, 4, 3, 2, 1 };
int len = sizeof(arr1) / sizeof(arr1[0]);
Swap(arr1, arr2,len);
for (int i = 0; i < len; i++)
{
printf("%d ", arr1[i]);
}
printf("\n");
for (int i = 0; i < len; i++)
{
printf("%d ", arr2[i]);
}
system("pause");
return 0;
}
这个很简单,易理解。。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: