乐离草 2022-06-02 16:43 采纳率: 50%
浏览 75
已结题

数据结构迷宫问题求解输入迷宫总是少一行怎么办?

问题遇到的现象和发生背景 求解迷宫问题直接把迷宫写入代码成功运行但是输入迷宫总是少一行
问题相关代码,请勿粘贴截图 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;
}

运行结果及报错内容 无法正确输入迷宫怀疑将回车键一并输入但是不知道如何改正
我的解答思路和尝试过的方法
我想要达到的结果
  • 写回答

3条回答 默认 最新

  • 白驹_过隙 算法领域新星创作者 2022-06-02 16:47
    关注

    你输入迷宫是int类型的,但是定义的是char类型,所以不对
    scanf("%d",&mz[i][j])

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(2条)

报告相同问题?

问题事件

  • 已结题 (查看结题原因) 6月4日
  • 已采纳回答 6月2日
  • 赞助了问题酬金20元 6月2日
  • 创建了问题 6月2日

悬赏问题

  • ¥15 使用rabbitMQ 消息队列作为url源进行多线程爬取时,总有几个url没有处理的问题。
  • ¥85 maple软件,solve求反函数,出现rootof怎么办?
  • ¥15 求chat4.0解答一道线性规划题,用lingo编程运行,第一问要求写出数学模型和lingo语言编程模型,第二问第三问解答就行,我的ddl要到了谁来求了
  • ¥15 Ubuntu在安装序列比对软件STAR时出现报错如何解决
  • ¥50 树莓派安卓APK系统签名
  • ¥15 maple软件,用solve求反函数出现rootof,怎么办?
  • ¥65 汇编语言除法溢出问题
  • ¥15 Visual Studio问题
  • ¥20 求一个html代码,有偿
  • ¥100 关于使用MATLAB中copularnd函数的问题