舟桥居士 2021-10-18 00:05 采纳率: 100%
浏览 29
已结题

下面的利用二维指针创建动态数组的代码执行不出来,是有问题吗?

#include <stdio.h>
#include <stdlib.h>
int main(){
    int** p;
    int m,n;
    int i,j;
    scanf("%d,%d",&m,&n);
    p=(int**)malloc(sizeof(int*)*m);
    for(i=0;i<m;i++){
        p[i]=(int*)malloc(sizeof(int)*n);
    }
    for(i=0;i<m;i++)
        for(j=0;i<m;j++)
            scanf("%d,",&p[i][j]);
    for(i=0;i<m;i++)
        for(j=0;i<m;j++)
            printf("%d",p[i][j]);
    for(i=0;i<m;i++)
        free(p[i]);
    free(p);
}




表头表头
单元格单元格
单元格单元格
  • 写回答

1条回答 默认 最新

  • 关注

    你题目的解答代码如下:(如有帮助,望采纳!谢谢! 点击我这个回答右上方的【采纳】按钮)

    #include <stdio.h>
    #include <stdlib.h>
    int main(){
        int** p;
        int m,n;
        int i,j;
        scanf("%d%d",&m,&n);
        p=(int**)malloc(sizeof(int*)*m);
        for(i=0;i<m;i++){
            p[i]=(int*)malloc(sizeof(int)*n);
        }
        for(i=0;i<m;i++)
            for(j=0;j<n;j++)
                scanf("%d",&p[i][j]);
        for(i=0;i<m;i++)
            for(j=0;j<n;j++)
                printf("%d ",p[i][j]);
        for(i=0;i<m;i++)
            free(p[i]);
        free(p);
    }
    

    img

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

报告相同问题?

问题事件

  • 系统已结题 10月26日
  • 已采纳回答 10月18日
  • 修改了问题 10月18日
  • 创建了问题 10月18日