c语言中二维数组整行交换
时间: 2024-12-12 21:05:29 浏览: 36
在 C 语言中,交换二维数组整行通常涉及到将数组中某一行的所有元素临时存储到另一个地方,然后把原来的位置赋给新存储的数据。下面是一个简单的例子,假设我们有一个 int 类型的二维数组 `arr`,我们要交换第一行和第二行:
```c
#include <stdio.h>
// 函数来交换两个整数
void swap(int* a, int* b) {
int temp = *a;
*a = *b;
*b = temp;
}
// 函数用于交换二维数组的两行
void swapRows(int arr[][3], int row1, int row2, int cols) {
for (int i = 0; i < cols; ++i) {
swap(&arr[row1][i], &arr[row2][i]);
}
}
int main() {
int arr[2][3] = {{1, 2, 3}, {4, 5, 6}};
printf("Before swapping:\n");
for (int i = 0; i < 2; ++i) {
for (int j = 0; j < 3; ++j) {
printf("%d ", arr[i][j]);
}
printf("\n");
}
// 交换第一行和第二行
swapRows(arr, 0, 1, 3);
printf("After swapping:\n");
for (int i = 0; i < 2; ++i) {
for (int j = 0; j < 3; ++j) {
printf("%d ", arr[i][j]);
}
printf("\n");
}
return 0;
}
```
在这个示例中,`swapRows` 函数接受二维数组、要交换的行号以及列数作为参数。它通过遍历每一列并调用 `swap` 函数来完成行的交换。
阅读全文