打印 char 2D 数组时初始化程序太多

Posted

技术标签:

【中文标题】打印 char 2D 数组时初始化程序太多【英文标题】:Too many initializers while printing char 2D array 【发布时间】:2017-07-08 13:49:03 【问题描述】:
#include<iostream>
using namespace std;

  // bool turnright(char **arr,int &x,int &y,bool &quit)
  // 
  // bool turnright(char **arr,int &x,int &y,bool &quit)
  // 
  // bool moveforward(char **arr,int &x,int &y,bool &quit)
 // 
 // bool movebackward(char **arr,int &x,int &y,bool &quit)
 // 

 // 


 void print(char arr[][12])
 
   for (int i=0;i<12;i++)
        
     for (int j=0;j<12;j++)
     
       cout<<arr[i][j];
     
     cout<<endl;
   
 


int main()

  char arr[12][12]=
    '#','#','#','#','#','#','#','#','#','#','#','#',
    '#','.','.','.','#','.','.','.','.','.','.','#',
    '#','.','#','.','#','.','#','#','#','#','.','#',
    '#','#','#','.','#','.','.','.','.','#','.','#',
    '#','.','.','.','.','#','#','#','.','#','.','.',
    '#','.','.','.','.','#','#','#','.','#','.','.',
    '#','.','.','#','.','#','.','#','.','#','.','#',
    '#','#','.','#','.','#','.','#','.','#','.','#',
    '#','.','.','.','.','.','.','.','.','#','.','#',
    '#','#','#','#','#','#','.','#','#','#','.','#',
    '.','.','.','.','.','.','.','.','#','.','.','.','#',
    '#','#','#','#','#','#','#','#','#','#','#','#'
  ;
   // bool quit=false;
  // int Ix;
  // int IY;
  // while(!quit)
  // 
  //   moveforward();
  //   turnfight();
     //   if (!moveforward())
    //   
    //     turnleft();
   //     if (!turnleft)
   //     
   //       moveback();
  //       turnleft();
  //       if(!turnleft())
 //       
  //         turnright();
 //       
 //     
 //   

 // 
   print(arr); 
    

我正在尝试编写用于在打印迷宫时穿越迷宫的代码,尽管我已经正确给出了行数和列数,但我收到了一个错误太多初始化器,谁能告诉我我错在哪里...

【问题讨论】:

【参考方案1】:

我重新格式化了您的数组初始化,发现第 11 行有 13 个元素不适合 [12][12] 数组:

char arr[12][12]=
    '#','#','#','#','#','#','#','#','#','#','#','#',
    '#','.','.','.','#','.','.','.','.','.','.','#',
    '#','.','#','.','#','.','#','#','#','#','.','#',
    '#','#','#','.','#','.','.','.','.','#','.','#',
    '#','.','.','.','.','#','#','#','.','#','.','.',
    '#','.','.','.','.','#','#','#','.','#','.','.',
    '#','.','.','#','.','#','.','#','.','#','.','#',
    '#','#','.','#','.','#','.','#','.','#','.','#',
    '#','.','.','.','.','.','.','.','.','#','.','#',
    '#','#','#','#','#','#','.','#','#','#','.','#',
    '.','.','.','.','.','.','.','.','#','.','.','.','#',
    '#','#','#','#','#','#','#','#','#','#','#','#'
  ;

【讨论】:

以上是关于打印 char 2D 数组时初始化程序太多的主要内容,如果未能解决你的问题,请参考以下文章

char [9] [9]的初始化程序太多[重复]

数组声明为 unsigned char 时的垃圾值

JAVAjava中char类型数组用数组名打印结果不是地址值而是数组内容

调用初始化程序没有完全匹配 - Swift 2D 数组

为什么不能将char指针定义为数组?

如何初始化字符串数组的char指针数组c ++