你的代码一共有三处错误!
1.头文件:少了#include<stdio.h>
少了这个这个头文件,printf();函数会报错
2. 第53行if语句 if(a[x][y+1]!='#'
少了个右括号
3.第64行清屏是CLS才是;
这句在win系统下是调用了CMD里的CLS功能
3.5. 代码结尾时还少了个‘}’
修改后代码如下:
- #include <stdio.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("you win!\n");
- Sleep(5000);
- return 0;
- }
复制代码
|