qq_37296877 2017-03-12 04:27 采纳率: 61%
浏览 804
已采纳

求大神, 字符莫名其妙消失怎么回事?

#include
#include
#include
#include
// 无法进入中央区域-- 还有字符莫名其妙消失的问题
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]); 
}
写的不太严格--
  • 写回答

2条回答

  • errors5835 2017-03-12 10:35
    关注

    for(i = 0; i < 20; i++)
    puts(map[i]);
    后面的这个是不是还少了一层啊,二维数组怎么只用一层for循环啊

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

报告相同问题?

悬赏问题

  • ¥15 素材场景中光线烘焙后灯光失效
  • ¥15 请教一下各位,为什么我这个没有实现模拟点击
  • ¥15 执行 virtuoso 命令后,界面没有,cadence 启动不起来
  • ¥50 comfyui下连接animatediff节点生成视频质量非常差的原因
  • ¥20 有关区间dp的问题求解
  • ¥15 多电路系统共用电源的串扰问题
  • ¥15 slam rangenet++配置
  • ¥15 有没有研究水声通信方面的帮我改俩matlab代码
  • ¥15 ubuntu子系统密码忘记
  • ¥15 保护模式-系统加载-段寄存器