C语言编程题,用指针咋做?

输入一个3*4的整型数组,对其进行转置后输出。... 输入一个3*4的整型数组,对其进行转置后输出。 展开
 我来答
自我编程
2018-01-07 · 科技优质答主
自我编程
采纳数:1481 获赞数:4283

向TA提问 私信TA
展开全部

你要的指针,我有注释,你应该看得懂

#include<stdio.h>
#include<stdlib.h>
int main()
{
    int num[][4]={{1,2,3,4},{5,6,7,8},{9,10,11,12}};
    int *p0=&num[0][0],*p1=&num[2][3],numsave,i,j;
    //数组元素地址连续 指针p0 p1 分别指向一头一尾,循环向中间会和,并交换数值

    while(1)
    {
        numsave=*p0;
        *p0=*p1;
        *p1=numsave;
        p0++;
        p1--;
        if(p1-p0==1)//因为是偶数个元素,所以一头一尾取,最后两指针地址相差1
            break;
    }

    printf("3*4数组\n 1, 2, 3, 4 \n 5, 6, 7, 8\n 9,10,11,12\n倒置后:\n");
    for (i=0;i<3;i++)
    {
        for(j=0;j<4;j++)
        {
            printf("%2d ",num[i][j]);
        }
        printf("\n");
    }

}
追问
嗯,感谢你的帮助!
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式