交换数组中的数字,c加加
时间: 2024-11-13 11:22:47 浏览: 16
在C语言中,如果你想交换两个数组中的数字,你可以使用一个临时变量或者直接利用算术运算来完成这个任务。这里我提供两种常见的方法:
**方法一:使用临时变量**
```c
void swap(int arr1[], int arr2[], int size) {
int temp; // 临时变量
for (int i = 0; i < size; i++) {
temp = arr1[i]; // 保存arr1的元素
arr1[i] = arr2[i]; // 将arr2的元素放入arr1
arr2[i] = temp; // 将临时变量的值放入arr2
}
}
// 示例
int main() {
int array1[] = {1, 2, 3};
int array2[] = {4, 5, 6};
swap(array1, array2, sizeof(array1) / sizeof(array1[0]));
return 0;
}
```
**方法二:不使用临时变量(通过算术运算)**
```c
void swapWithoutTemp(int arr1[], int arr2[], int size) {
for (int i = 0; i < size; i += 2) { // 只交换偶数位置的元素,如果有奇数个元素,最后一个不需要交换
arr1[i] = arr1[i] + arr2[i]; // 把arr2[i]的值放到arr1[i]
arr2[i] = arr1[i] - arr2[i]; // 现在arr1[i]就是原arr2[i],arr2[i]是它们的差,即原arr1[i]
arr1[i] = arr1[i] - arr2[i]; // 把arr1[i]恢复为原来的值
}
}
// 示例同上
```
阅读全文