啊哈磊_编程从这里起步
标题:
为什么编辑错误?
[打印本页]
作者:
112401717
时间:
2014-4-15 21:33
标题:
为什么编辑错误?
#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
你的代码一共有三处错误!
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;
}
复制代码
作者:
18320012584
时间:
2014-4-16 13:07
哇塞,都是大神级别的专业人士啊
作者:
ybw0014
时间:
2014-4-20 19:14
没有#include<conio.h>
欢迎光临 啊哈磊_编程从这里起步 (https://bbs.codeaha.com/)
Powered by Discuz! X3.2