方法和交换两个数的值没有什么区别,在外部加入循环即可。 #include<stdio.h> #include<stdlib.h> int main() { int arr[] = {0,1,2,3,4}; int arr1[] = {5,6,7,8,9}; int n = 0; int i=0; printf("arr:"); for(i = 0;i<(sizeof(arr)/sizeof(arr[0]));i++) { printf("%d ",arr[i]); } printf("\narr1:"); for(i = 0;i<(sizeof(arr1)/sizeof(arr1[0]));i++) { printf("%d ",arr1[i]); } for(i = 0;i<(sizeof(arr)/sizeof(arr[0]));i++) { n = arr1[i]; arr1[i] = arr[i]; arr[i] = n; /*arr[i] = arr1[i] + arr[i];//另外两种方法交换变量 arr1[i] = arr[i] - arr1[i]; arr[i] = arr[i] - arr1[i];*/ /*arr[i] = arr[i]^arr1[i]; arr1[i] = arr[i]^arr1[i]; arr[i] = arr[i]^arr1[i];*/ } printf("\narr:"); for(i = 0;i<(sizeof(arr)/sizeof(arr[0]));i++) { printf("%d ",arr[i]); } printf("\narr1:"); for(i = 0;i<(sizeof(arr1)/sizeof(arr1[0]));i++) { printf("%d ",arr1[i]); } system("pause"); return 0; }