大佬修一下 char赋值报错

· · 个人记录

#include<bits/stdc++.h>
#include <windows.h>
using namespace std;
char a[31][21];char e,a1;
int b[31][21],c,d,f,g[21],h[31],k,l,x=2,z=1;double jb=1;
void bb(){
    Sleep(50);
    system("cls");
    for(int i=1;i<=30;i++){
        for(int j=1;j<=20;j++)
          cout<<a[i][j];
        cout<<endl;
    }

int main()
{
    for(int i=1;i<=30;i++)
      for(int j=1;j<=20;j++)
        a[i] [j]='□';
    k=rand()%30+1;
    f=rand()%20+1;
    a[1][1]='出'; 
    b[x][z]=1;
    a[x][z]='我'; 
    a[k][f]='■';
    a[1][2]='#';
    for(;;)
    {
        bb()
        cin>>e;
        if(e=='w'&&z!=1){
            b[x][z-1]=1;
            a[x][z]='□'
            z--;
            a[x][z]='我'; 
            bb();
        }
        if(e=='a'&&x!=1){
            b[x-1][z]=1;
            a[x][z]='□'
            x--;
            a[x][z]='我'; 
            bb();
        }
        if(e=='s'&&z!=1){
            b[x][z+1]=1;
            a[x][z]='□'
            z++;
            a[x][z]='我'; 
            bb();
        }
        if(e=='d'&&x!=1){
            b[x+1][z]=1;
            a[x][z]='□'
            x++;
            a[x][z]='我'; 
            bb();
        }
        if(x==k&&z==f){
          a[k][f]='□';
            k=rand()%30+1;
           f=rand()%20+1;
          l+=100*jb;
          a[k][f]='■';
          }
        if(x==1&&z==1)
          {
            system("cls");
            cout<<"你确定退出吗    (y/n)"<<endl;
            cin>>a1;
            if(a1=='n')
              break;
          }
          if(x==2&&z==1)
          {
            system("cls");
            cout<<"你确定升级吗    (y/n)"<<endl;
                cin>>a1;
            if(a1=='n')
              return;
            else
              {
                if(l>=100)
                  {
                    jb+=0.1;
                    cout<<"升级成功"<<endl;
                   } 
                else
                  cout<<"钱不够"<<endl; 
          }
     } 
}