题目比较简单,首先给定两个数组,进行直接交换。
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;
}
这个很简单,易理解。。
亿速云「云服务器」,即开即用、新一代英特尔至强铂金CPU、三副本存储NVMe SSD云盘,价格低至29元/月。点击查看>>
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。