题目比较简单,首先给定两个数组,进行直接交换。 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; }
这个很简单,易理解。。
时间: 2024-10-24 09:20:43