问题遇到的现象和发生背景 求解迷宫问题直接把迷宫写入代码成功运行但是输入迷宫总是少一行
问题相关代码,请勿粘贴截图 Status InitMaze(MazeType *M){
//初始化迷宫数据
int i,j;
int COLUMN,ROW;
printf("请输入迷宫行数:");
scanf("%d",&ROW);
printf("请输入迷宫列数:");
scanf("%d",&COLUMN);
char mz[100][100];
M->maze=(char **)malloc(sizeof(char )(ROW+1));
M->footprint=(int **)malloc(sizeof(int )(ROW+1));
if(!M->maze||!M->footprint){
printf("申请空间失败,迷宫非法初始化.\n");
return ERROR;
exit(0);
}
for(i=0;i<=ROW;i++){
M->maze[i]=(char )malloc(sizeof(char)(COLUMN+1));
M->footprint[i]=(int )malloc(sizeof(int)(COLUMN+1));
if(!M->maze[i]||!M->footprint[i]){
printf("申请空间失败,迷宫初始化失败.\n");
return ERROR;
exit(0);
}
}
for(i=0;i<=ROW;i++){
for(j=0;j<=COLUMN;j++){
mz[i][j]='2';
M->footprint[i][j]=0;
}
}
printf("请输入迷宫\n");
for(i=1;i<=ROW;i++){
for(j=1;j<=COLUMN;j++){
scanf("%d",&mz[i][j]);
}
}
for(i=0;i<=ROW;i++){
for(j=0;j<=COLUMN;j++){
M->maze[i][j]=mz[i][j];
}
}
M->row=ROW;//行
M->column=COLUMN;//列
return OK;
}