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

#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);
}




表头表头
单元格单元格
单元格单元格

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

#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