首页 新闻 搜索 专区 学院

【帮忙看个二维数组的输入输出】

0
悬赏园豆:10 [已解决问题] 解决于 2012-06-12 22:10

这个代码有什么不对么?怎么不能输出???

#include<stdio.h>
#include<stdlib.h>
int main(){
int i,j,m,n;
int **maze;
printf("请输入迷宫范围(m行n列,空格隔开):");
scanf("%d%d",&m,&n);
maze=(int **)malloc((m*n)*sizeof(int *));
printf("请输入迷宫(0表示通,1表示障碍物):\n");
for(i=0;i<m;i++)
for(j=0;j<n;j++)
scanf("%d",&maze[i][j]);
printf("迷宫为:\n");
for(i=0;i<m;i++){
for(j=0;j<n;j++)
printf("%d ",maze[i][j]);
printf("\n");
}
return 

c++
问题补充:

问题已经解决了,下面是标准答案、嘿嘿

#include<stdio.h>
#include<stdlib.h>
int main(){
int i,j,m,n;
int **maze;
printf("请输入迷宫范围(m行n列,空格隔开):");
scanf("%d%d",&m,&n);
maze=(int **)malloc((m*n)*sizeof(int));
for(i=0;i<m*n;++i)
maze[i]=(int *)malloc(sizeof(int));
printf("请输入迷宫(0表示通,1表示障碍物):\n");
for(i=0;i<m;i++)
for(j=0;j<n;j++)
scanf("%d",&maze[i][j]);
printf("迷宫为:\n");
for(i=0;i<m;i++){
for(j=0;j<n;j++)
printf("%d ",maze[i][j]);
printf("\n");
}
return 0;
}

打伞的鱼的主页 打伞的鱼 | 初学一级 | 园豆:174
提问于:2012-06-12 21:38
< >
分享
最佳答案
0
#include<stdio.h>
#include<stdlib.h>
int main()
{
    int i,j,m,n;
    int *maze;
    printf("请输入迷宫范围(m行n列,空格隔开):");
    scanf("%d%d",&m,&n);
    maze=(int *)malloc((m*n)*sizeof(int *));
    printf("请输入迷宫(0表示通,1表示障碍物):\n");
    for(i=0;i<m;i++)
        for(j=0;j<n;j++)
            scanf("%d",&maze[i*n+j]);
    printf("迷宫为:\n");
    for(i=0;i<m;i++)
    {
        for(j=0;j<n;j++)
            printf("%d ",maze[i*n+j]);
        printf("\n");
    }
    return 0;
}
收获园豆:10
Greatest | 小虾三级 |园豆:678 | 2012-06-12 22:00

噢  非常感谢、我那问题已经被我解决了、不过跟你的完全不一样、我用的二维数组。不过看了你的代码真的让我大开眼界、原来数组还可以这么用。。。

打伞的鱼 | 园豆:174 (初学一级) | 2012-06-12 22:07
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册