#include <stdio.h>
#include <stdlib.h>
#define LINE 3
#define COLUMN 3
//3x3二维数组转置
int a[LINE][COLUMN]={};
void arr_trace(int *parr){
int i=0,j=0;
for(i=0;i<LINE;i++){
for(j=0;j<COLUMN;j++){
*(*(a+i)+j) = *(parr+i*COLUMN+j);
}
}
}
int main() {
int arr[LINE][COLUMN],i=0,j=0,*p;
for(i=0;i<LINE;i++){
for(j=0;j<COLUMN;j++){
scanf("%d",&arr[i][j]);
}
}
p = &arr[0][0];
arr_trace(p);
printf("转置前:\n");
for(i=0;i<LINE;i++){
for(j=0;j<COLUMN;j++){
printf("%d\t",*(p+i*COLUMN+j));
}
printf("\n");
}
printf("转置后:\n");
for(i=0;i<LINE;i++){
for(j=0;j<COLUMN;j++){
printf("%d\t",a[i][j]);
}
printf("\n");
}
return EXIT_SUCCESS;
}
【C语言】二维数组转置
最新推荐文章于 2024-07-27 09:37:41 发布