指针练习将3*3矩阵转置

#include<stdio.h>
#include<math.h>
#include<string.h>
void Transfer(int *arr);

int main(){
int arr[3][3]={1,2,3,4,5,6,7,8,9};

    Transfer(arr);

    for(int i=0;i<3;i++){
        for(int j=0;j<3;j++){
            printf("%d ",arr[i][j]);
        }

        printf("\n");
    }

}

void Transfer(int *arr){

    int (*p)[3]=arr;
    for(int i=0;i<3;i++)
    for(int j=i+1;j<3;j++){
        int temp=*(*(p+i)+j);
        *(*(p+i)+j)=*(*(p+j)+i);
        *(*(p+j)+i)=temp;
    }

    return;
}
posted @ 2024-05-19 15:27  zhongta  阅读(78)  评论(0)    收藏  举报