本帖最后由 嘟嘟编程 于 2020-5-13 14:04 编辑
[code]#include <stdio.h> //[code]什么意思
while(x!=p // /*这里错了,斜杠是注释符*/y!=q)
这段代码应该是这样:
while(x!=p || y!=q)
if(ch=='s')
{
if(a[x+1][y]!='#')
{
a[x][y]!=' '; //为什么是!=啊?!不等于是逻辑表达式(后面一个也错了)
x++;
a[x][y]='O';
}
}
if(a[x][y-1]!='#')
{
a[x][y]=' ';
y++ //漏分号了
a[x][y]='O';
}
楼主,注意符号哦
if(a[x-1][y]!='#')
{
a[X][y]!=' ';//x要小写(c语言区分大小写,X和x是两个变量)
x--;
a[x][y]='O';
}
正确代码如下:
#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);
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);
}
system("cls");
printf("You win!");
Sleep(5000);
return 0;
}
希望能够帮助到你
|