求解怎么用指针输出二维数组里个个元素的地址

输入一个3行4列的数组,采用二维数组指针操作方法将二维数组转置,并将转置后的数组每个元素地址及其元素值打印出来: 例如: 输入 3 4 5 7 7 8 5 6 9 2 3 1 输出 第一种指针操作输出 数组地址如下(每台机器不一样) E3287 E3288 E3289 E3891 E3292 E3293 E3295 E3296 E9297 E3290 E3298 E3294 数组元素如下 3 7 9 4 8 2 5 5 3 7 6 1 第二种指针操作输出 数组地址如下(每台机器不一样) E3287 E3288 E3289 E3891 E3292 E3293 E3295 E3296 E9297 E3290 E3298 E3294 数组元素如下 3 7 9 4 8 2 5 5 3 7 6 1

    int a[ROW][COL];

    int i,j;

    printf("请输入一个%d行,%d列的矩阵:\n", ROW,COL);

    for(i = 0; i < ROW; i++)
    {
        for(j = 0; j < COL;j++)
        {
            scanf("%d", &a[i][j]);
        }
    }


    printf("你刚才输入的是一个%d行,%d列的矩阵:\n", ROW,COL);

    for(i = 0; i < ROW; i++)
    {
        for(j = 0; j < COL;j++)
        {
            printf("%d\t", a[i][j]);
        }

        printf("\n");
    }

    printf("下面将为你转换为一个%d行,%d列的矩阵:\n", COL,ROW);

    for(i = 0; i < COL; i++)
    {
        for(j = 0; j < ROW; j++)
        {
            printf("%d\t", a[j][i]);
        }

        printf("\n");
    }

 

参考: #include void main() { int a[10]; int i, *p; for (i = 0; i<10; i++) scanf("%d", &a[i]); printf("\n"); for (p = a; p<(a + 10); p++) printf("%x", &p); printf("\n"); }

您好,我是有问必答小助手,你的问题已经有小伙伴为您解答了问题,您看下是否解决了您的问题,可以追评进行沟通哦~

如果有您比较满意的答案 / 帮您提供解决思路的答案,可以点击【采纳】按钮,给回答的小伙伴一些鼓励哦~~

ps:问答VIP仅需29元,即可享受5次/月 有问必答服务,了解详情>>>https://vip.csdn.net/askvip?utm_source=1146287632

非常感谢您使用有问必答服务,为了后续更快速的帮您解决问题,现诚邀您参与有问必答体验反馈。您的建议将会运用到我们的产品优化中,希望能得到您的支持与协助!

速戳参与调研>>>https://t.csdnimg.cn/Kf0y

C和C++完整教程:https://blog.csdn.net/it_xiangqiang/category_10581430.html
C和C++算法完整教程:https://blog.csdn.net/it_xiangqiang/category_10768339.html