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

为什么编辑错误?

[复制链接]
楼主
发表于 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
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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