将3x3整型二维数组转置(C语言指针的三种实现)

将3x3整型二维数组转置(C语言指针的三种实现)-图1

#include 
int main()
{
    void func(int (*ptr)[3]);
    int a[3][3];
    for(int i = 0;i <3;i ++)
        for(int j = 0;j < 3;j++)
            scanf("%d",&a[i][j]);
    func(a);
    for(int i = 0;i <3;i ++)
    {
        for(int j = 0;j < 3;j++)
            printf("%d ",a[i][j]);
        printf("n");
    }
    return 0;
}
void func(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;
        }
}

注意函数构造的参数中单指针不能直接指向二维数组

 

 由于代码段删掉了就直接上图了。

转载请说明出处 内容投诉内容投诉
南趣百科 » 将3x3整型二维数组转置(C语言指针的三种实现)

南趣百科分享生活经验知识,是您实用的生活科普指南。

查看演示 官网购买