为了账号安全,请及时绑定邮箱和手机立即绑定

求大神, 哪里错了?

#include <stdio.h>

#include <stdlib.h> 

#include <windows.h>

#include <conio.h>

// 无法进入中央区域-- 还有字符莫名其妙消失的问题 

char map[20][20];

int i, j;


void move(int x, int y);


int main(void)

{

int move_x = 1, move_y = 1;

for (i = 0; i < 20; i++) 

scanf ("%s", &map[i]);

map[move_x][move_y] = 'M';

for (i = 0; i < 20; i++)

puts(map[i]);

move(move_x, move_y);

return 0;

}


void move(int x, int y)

{

char ch;

while ((ch = getch()) != 'q')

{

if (ch == 'w' || ch == 's' || ch == 'a' || ch == 'd')

{


map[x][y] = ' ';

switch (ch){

case 'w': map[--x][y] = 'M'; break;

case 's': map[++x][y] = 'M'; break;

case 'a': map[x][--y] = 'M'; break;

case 'd': map[x][++y] = 'M'; break;

}

}

else

{

printf ("不是有效按键!!!\n");

continue;

}

// 重绘地图 

system("cls");

for(i = 0; i < 20; i++)

puts(map[i]); 

}

}

移动时会出现字符莫名其妙消失 还有多个字符飞来飞去, 怎么回事

正在回答

1 回答

for (i = 0; i < 20; i++) 

scanf ("%s", &map[i]);

map[move_x][move_y] = 'M';


for (i = 0; i < 20; i++)

puts(map[i]);

move(move_x, move_y);

循环体需要用{}

0 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消
C语言入门
  • 参与学习       926243    人
  • 解答问题       20798    个

C语言入门视频教程,带你进入编程世界的必修课-C语言

进入课程

求大神, 哪里错了?

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信