【C语言】二维数组转置

来源:互联网 发布:金立gn106软件下载 编辑:程序博客网 时间:2024/05/31 19:44
#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;}
0 0
原创粉丝点击