cannot convert 'char (*)[20]' to 'char (*)[7]……

int i,x,y,p,q;
char ch;
x=1,y=1,p=1,q=5;    //x,y为小球初始位置的坐标,p,q为迷宫出口位置的坐标
for(i=0;i<6;i++)
    puts(m[i]);       //初始迷宫图输出到屏幕

while(x!=p    ||    y!=q)     //若小球没走到迷宫出口,继续移动
{
    ch=getch();
    move (m,ch,&x,&y);    //小球在用户指定方向移动一步
    systeem("cls");        //清屏
    for(i=0;i<6;i++) 
        puts(m[i]);        //小球移动一步后的迷宫图输出到屏幕
} 
printf("Congratulations on winning the maze 

错误:cannot convert 'char ()[20]' to 'char ()[7]' for argument '1' to 'void move(char ()[7], char, int, int*)'

代码没有给全
不过我猜你的m定义的长度应该是20,而move只接受长度为7


可以看下cpp参考手册中的 c++ std::ctype 对于 char 类型的特化-ctype,