啊哈磊_编程从这里起步

标题: 大佬帮我找BUG,按书上敲的; [打印本页]

作者: Enthusiasm    时间: 2018-10-19 16:38
标题: 大佬帮我找BUG,按书上敲的;
#include <stdio.h>
#include <stdlib.h>
#include<windows.h>

int main()
{
                char a[50][50]={"######",
                                                "#O #  ",
                        "#  # #",
                        "##   #",
                        "######",
                                           };
        int i,x,y,p,q;
        char ch;

        x=1; y=1; p=1; q=5;
        for(i=0;i<=5;i++)
                        puts(a[i]);
        while(x!=p || y!=q)

        {   
                        ch=getch();
            if(ch=='s')
            {
                                if(a[x+1][y]!='#')
                {
                                                a[x][y]=' ';
                        x++;
                        a[x][y]='O';
                }        
       }

            if(ch=='w')
            {
                                if(a[x-1][y]!='#')
                {
                                                a[x][y]=' ';
                        x--;
                        a[x][y]='O';
                }        
       }

            if(ch=='a')
            {
                                if(a[x][y-1]!='#')
                {
                                                a[x][y]=' ';
                        y--;
                        a[x][y]='O';
                }        
       }      

            if(ch=='d')
            {
                                if(a[x][y+1]!='#')
                {
                                                a[x][y]=' ';
                        y++;
                        a[x][y]='O';
                }        
       }

       system("cls");
       for(i=0;i<=5;i++)
                                puts(a[i]);
       }         

       system("cls");
       printf("牛逼!\n");
       Sleep(5000);

       
        return 0;
}



作者: 阿哈_C    时间: 2018-10-20 12:58
你看,你在getch()并if()后没有重置ch变量,所以会出错


作者: 阿哈_C    时间: 2018-10-20 12:59
阿哈_C 发表于 2018-10-20 12:58
你看,你在getch()并if()后没有重置ch变量,所以会出错

说错了说错了sorry


作者: 阿哈_C    时间: 2018-10-20 13:01
你可能是用c++编的,c++的getch()是需要头文件<conio.h>的

作者: 湖水    时间: 2018-10-23 20:34
你再用c写试试可不可以
作者: 盛陈昊    时间: 2019-2-13 18:08
你真是傻,这个程序要用C++编,第四句要打using namespace std;
第一句还要加include<iostream>.




欢迎光临 啊哈磊_编程从这里起步 (https://bbs.codeaha.com/) Powered by Discuz! X3.2