2 yxts122 YXTS122 于 2016.04.03 18:19 提问

为什么这运行结果老卡住不动?求助大神。。
 #include<stdio.h>
#include<stdlib.h>
#include<conio.h>
int main()
{
    char a[5][10]={'#','#','#','#','#','#','#','#','#','#','#','o',' ','#','#','#','#',' ',' ',' ','#','#',' ',' ','#',' ',' ',' ','#','#','#','#','#',' ',' ',' ','#','#','#','#','#','#','#','#','#','#','#','#','#','#'};
    int x,y;
    char c;
    x=1;   y=1;
    c=getch();
    while (c!='q')
    {
        clrscr();//system("cls");
        if (c=='l')
        {
            a[x][y]=' ';
            y++;
            a[x][y]='o';
        }
        if (c=='a')
        {
            a[x][y]=' ';
            y--;
            a[x][y]='o';
        }
        if (c=='y')
        {
            a[x][y]=' ';
            x--;
            a[x][y]='o';
        }
        if (c=='v')
        {
            a[x][y]=' ';
            x++;
            a[x][y]='o';
        }
       for (x=0;x<5;x++)
      {
        for (y=0;y<10;y++)
              printf("%c",a[x][y]);
          printf("\n");
       }
       c=getch();
    }
    return 0;
}

这程序我无论按a,v,y,还是l,总是这样的运行结果,怎么回事?
图片说明

5个回答

github_27756899
github_27756899   2016.04.04 22:13
已采纳
char c;
x=1;   y=1;
c=getch();
while (c!='q')
{
    clrscr();//system("cls");

            //改为:
             char c;
c=getch();
while (c!='q')
{
    x=1;   y=1;
    clrscr();//system("cls");

            试试.

            原因请见2楼
caozhy
caozhy   Ds   Rxr 2016.04.03 19:09
 // 删除c=getch();
while ((c=getch())!='q') //修改
caozhy
caozhy 回复YXTS122: 你得说明你想做什么
一年多之前 回复
caozhy
caozhy 回复YXTS122: 那只能是你程序有别的错。你只getch一次肯定更不对。
一年多之前 回复
YXTS122
YXTS122 回复caozhy:不行,你这个我早试过了,不行的。。。。
一年多之前 回复
lp_19880801
lp_19880801   2016.04.03 23:16

第二次循环时x=5.y=10,然后进行a[5][10]=' ',程序会崩溃的吧?

YXTS122
YXTS122 回复问我受不受:谢谢,我明白你的意思了。
一年多之前 回复
YXTS122
YXTS122   2016.04.05 07:36

我改好了,谢谢大家。。。。。。。。。。。图片

CSDNXIAON
CSDNXIAON   2016.04.03 18:22

为什么运行结果老是错误
----------------------同志你好,我是CSDN问答机器人小N,奉组织之命为你提供参考答案,编程尚未成功,同志仍需努力!

Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!