神舟NO.10 2019-07-11 13:52 采纳率: 50%
浏览 261
已采纳

C语言问题 数组问题 求解

下面是全部代码

#include <stdio.h>
#include <string.h>

int main ()
{
    char a[5][5],b[100];int i,j,c,m,n,d,l=0;
    for(i=0;i<5;i++)
        {for(j=0;j<5;j++)
            {
                scanf("%c",&a[i][j]);
                if(a[i][j]==a[2][1])
                   {a[2][1]='!';j++;}

            }
        printf("\n");}
    printf("请输入指令:");
    scanf("%s",b);
    c=strlen(b);
    m=2;n=1;
    for(i=0;i<c;i++)
       {
           int y=0;
           while(l==0 && y==0)
           {
            if(b[i]=='A')
              {
                 if(m>0)
                   {a[m][n]=d;d=a[m-1][n];a[m-1][n]=a[m][n];y=1;}
                 else
                   {l=1;break;}
              }
            else if(b[i]=='B')
              {
                 if(m<4)
                   {a[m][n]=d;d=a[m+1][n];a[m+1][n]=a[m][n];y=1;}
                 else
                   {l=1;break;}
              }
            else if(b[i]=='L')
              {
                 if(n>0)
                   {a[m][n]=d;d=a[m][n-1];a[m][n-1]=a[m][n];y=1;}
                 else
                   {l=1;break;}
              }
            else if(b[i]=='R')
              {
                 if(n<4)
                   {a[m][n]=d;d=a[m][n+1];a[m][n+1]=a[m][n];y=1;}
                 else
                   {l=1;break;}
              }
            else
              printf("输入错误!重新输入:\n");

           }

       }
    for(i=0;i<5;i++)
        {for(j=0;j<5;j++)
        printf("%c",a[i][j]);
        printf("\n");} 
} 

下面是我在C-free里面调试的代码:
图片说明

问题:为什么换行字符'\n'也进入了数组?该如何避免这种情况?

  • 写回答

1条回答 默认 最新

  • weixin_45381583 2019-07-11 14:07
    关注

    scanf里面是%c,会吃回车的,在第一重循环用 fflush(stdin); 清空键盘缓冲区

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥35 平滑拟合曲线该如何生成
  • ¥100 c语言,请帮蒟蒻写一个题的范例作参考
  • ¥15 名为“Product”的列已属于此 DataTable
  • ¥15 安卓adb backup备份应用数据失败
  • ¥15 eclipse运行项目时遇到的问题
  • ¥15 关于#c##的问题:最近需要用CAT工具Trados进行一些开发
  • ¥15 南大pa1 小游戏没有界面,并且报了如下错误,尝试过换显卡驱动,但是好像不行
  • ¥15 自己瞎改改,结果现在又运行不了了
  • ¥15 链式存储应该如何解决
  • ¥15 没有证书,nginx怎么反向代理到只能接受https的公网网站