用指针写二维数组转置
时间: 2024-03-30 08:30:00 浏览: 47
以下是使用指针写二维数组转置的示例代码:
```c
#include <stdio.h>
void transpose(int (*ptr)[3]) {
for(int i = 0; i < 3; i++) {
for(int j = i; j < 3; j++) {
int temp;
temp = *(*(ptr + i) + j);
*(*(ptr + i) + j) = *(*(ptr + j) + i);
*(*(ptr + j) + i) = temp;
}
}
}
int main() {
int a[3][3];
// 输入矩阵元素
for(int i = 0; i < 3; i++) {
for(int j = 0; j < 3; j++) {
scanf("%d", &a[i][j]);
}
}
// 转置矩阵
transpose(a);
// 输出转置后的矩阵
for(int i = 0; i < 3; i++) {
for(int j = 0; j < 3; j++) {
printf("%d ", a[i][j]);
}
printf("\n");
}
return 0;
}
```
阅读全文