イリヤ 2018-12-23 20:11 采纳率: 0%
浏览 1256
已采纳

编写函数zhuanz(int (*p)[4]) 用行指针作参数实现矩阵转置

/*在主函数中定义整型数组a[4][4],从键盘输入值赋给数组元素后,调用zhuanz函数将a数组转置,并输出转置后的数组。*/

#include
#include
main()
{/************found************/

}
zhuanz(int (*p)[4])
{/************found************/

}/*萌新崩溃,还有就是*(p)[4]和*p[4]什么区别,,*/

  • 写回答

1条回答 默认 最新

  • threenewbee 2018-12-23 16:46
    关注
    #include<stdio.h> 
    #include<stdlib.h>
    
    void zhuanz(int(*p)[4])
    {
        for (int i = 0; i < 4; i++)
            for (int j = 0; j <= i; j++)
            {
                int t = p[i][j];
                p[i][j] = p[j][i];
                p[j][i] = t;
            }
    }
    int main()
    {
        int a[4][4];
        for (int i = 0; i < 4; i++)
            for (int j = 0; j < 4; j++)
                scanf("%d", &a[i][j]);
        zhuanz(a);
        for (int i = 0; i < 4; i++)
        {
            for (int j = 0; j < 4; j++)
                printf("%d ", a[i][j]);
            printf("\n");
        }
        return 0;
    }
    

    *(p)[4]和*p[4]什么区别
    一个是指针的数组,也就是4个指针,一个是数组的指针,也就是只有一个指针。

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?