搜索
查看: 646|回复: 5
打印 上一主题 下一主题

为什么编辑错误?

[复制链接]
跳转到指定楼层
楼主
发表于 2014-4-15 21:33:13 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
5啊哈币

#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("cis");
    printf("you win!\n");
    sleep(5000);
return 0;
  

沙发
发表于 2014-4-15 22:51:43 | 只看该作者
你的代码一共有三处错误!
1.头文件:少了#include<stdio.h>
少了这个这个头文件,printf();函数会报错
2. 第53行if语句 if(a[x][y+1]!='#'
少了个右括号
3.第64行清屏是CLS才是;
这句在win系统下是调用了CMD里的CLS功能
3.5.  代码结尾时还少了个‘}’
修改后代码如下:
  1. #include <stdio.h>
  2. #include <windows.h>
  3. int main()
  4. {
  5.     char a[50][50]={"######",
  6.                     "#O #  ",
  7.                     "# ## #",
  8.                     "#  # #",
  9.                     "##   #",
  10.                     "######",
  11.                    };
  12.     int i,x,y,p,q;
  13.     char ch;
  14.    
  15.     x=1;y=1;p=1;q=5;
  16.     for(i=0;i<=5;i++)
  17.        puts(a[i]);
  18.     while(x!=p || y!=q)
  19.     {
  20.         ch=getch();
  21.       if(ch=='s')
  22.       {
  23.           if(a[x+1][y]!='#')
  24.           {
  25.               a[x][y]=' ';
  26.               x++;
  27.               a[x][y]='o';
  28.           }
  29.       }
  30.       
  31.       if(ch=='w')
  32.       {
  33.           if(a[x-1][y]!='#')
  34.           {
  35.              a[x][y]=' ';
  36.              x--;
  37.              a[x][y]='o';
  38.           }
  39.       }
  40.       
  41.       if(ch=='a')
  42.       {
  43.           if(a[x][y-1]!='#')
  44.           {
  45.               a[x][y]=' ';
  46.               y--;
  47.               a[x][y]='o';
  48.           }
  49.       }
  50.       
  51.       if(ch=='d')
  52.       {
  53.           if(a[x][y+1]!='#')
  54.           {
  55.               a[x][y]=' ';
  56.               y++;
  57.               a[x][y]='o';
  58.           }
  59.       }   
  60.       system("cls");
  61.       for(i=0;i<=5;i++)
  62.           puts(a[i]);
  63.     }               
  64.         system("CLS");
  65.     printf("you win!\n");
  66.     Sleep(5000);
  67. return 0;
  68. }
复制代码

  

点评

在追加一处错误 sleep();函数在win系统下因应S要大写~~  发表于 2014-4-15 22:56
板凳
发表于 2014-4-16 13:07:36 | 只看该作者
哇塞,都是大神级别的专业人士啊

点评

难道你很业余吗  发表于 2014-4-18 20:23
地板
发表于 2014-4-20 19:14:32 | 只看该作者
没有#include<conio.h>
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

广播台
特别关注
快速回复 返回顶部 返回列表