#include <stdio.h>
void w(char ch[][5],int x,int y){
ch[x][y]=' ';
}
void tart(char ch[][5],int x,int y){
ch[x][y]='0';
}
int main()
{
char cs[6][5] = {
{'#','#','#','#','#'},
{'#','0','#',' ','#'},
{'#',' ','#',' ','#'},
{'#',' ','#',' ','#'},
{'#','#',' ',' ','#'},
{'#','#','#',' ','#'}};
do{
int x,y;
x=1;
y=1;
char a;
scanf("%c",&a);
if(a=='w'){
w(cs,x,y);
tart(cs,x-1,y);
x--;
}
else if(a=='s'){
w(cs,x,y);
tart(cs,x+1,y);
y=y;
}
else if(a=='a'){
w(cs,x,y);
tart(cs,x,y-1);
y--;
}
else if(a=='d')
{
w(cs,x,y);
tart(cs,x,y+1);
y++;
}
for(int i=0;i<6;i++)
{
for(int j=0;j<5;j++)
{
printf("%c",cs[i][j]);
}
printf("\n");
}
}while(1);
}
初学者求大牛解惑,感谢!
for循环遍历二维数组,循环会打印两遍结果
- 写回答
- 好问题 0 提建议
- 追加酬金
- 关注问题
- 邀请回答
-
4条回答 默认 最新
- 忆亦何为 2023-01-18 21:19关注
缓冲区问题,你输入一个字符会回车,这时候缓冲区有两个字符,一个是你输入的,一个是回车,由于你do while循环把scanf括住了,所以会循环两次,输出两次
本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 无用评论 打赏 举报 编辑记录
悬赏问题
- ¥15 RPA正常跑,cmd输入cookies跑不出来
- ¥15 求帮我调试一下freefem代码
- ¥15 matlab代码解决,怎么运行
- ¥15 R语言Rstudio突然无法启动
- ¥15 关于#matlab#的问题:提取2个图像的变量作为另外一个图像像元的移动量,计算新的位置创建新的图像并提取第二个图像的变量到新的图像
- ¥15 改算法,照着压缩包里边,参考其他代码封装的格式 写到main函数里
- ¥15 用windows做服务的同志有吗
- ¥60 求一个简单的网页(标签-安全|关键词-上传)
- ¥35 lstm时间序列共享单车预测,loss值优化,参数优化算法
- ¥15 Python中的request,如何使用ssr节点,通过代理requests网页。本人在泰国,需要用大陆ip才能玩网页游戏,合法合规。