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 有赏,i卡绘世画不出
  • ¥15 如何用stata画出文献中常见的安慰剂检验图
  • ¥15 c语言链表结构体数据插入
  • ¥40 使用MATLAB解答线性代数问题
  • ¥15 COCOS的问题COCOS的问题
  • ¥15 FPGA-SRIO初始化失败
  • ¥15 MapReduce实现倒排索引失败
  • ¥15 ZABBIX6.0L连接数据库报错,如何解决?(操作系统-centos)
  • ¥15 找一位技术过硬的游戏pj程序员
  • ¥15 matlab生成电测深三层曲线模型代码