二维字符数组C++

2 Dimensional Char Array C++

本文关键字:字符 数组 C++ 二维      更新时间:2023-10-16

有没有这样的方法来初始化一个字符数组,然后遍历它们并更改值?我正在尝试创建一个类似表格的结构。

我只是不断收到诸如"无法使用类型为"const char [3]"的左值初始化类型'char'的值"之类的错误。

我正在使用 Xcode 6.1.1 进行开发

int width = 25;
int height = 50;

char board [50][25] = {""}; // height x width
for (int i = 0; i < width; i++) {
    for (int j = 0; i < height; i++) {
        if (i == 0) {
            board[i][j] = {"||"};
        }
    }
}

问题出在board[i][j] = {"||"}; 上。字符串"||"不能隐式转换为单个字符。

不清楚你想做什么;板的每个单元格都是一个char||是两个字符。 两个不合二为一。也许你的意思是:

board[i][j] = '|';

此外,您的循环嵌套是向后的(height 循环应该是外部循环)。数组的索引与其声明相同,因此要使board[i][j]char board[50][25]声明时工作,i范围必须从 049

改进将是:

int const width = 25;
int const height = 50;
char board[height][width] = {};
for (int h = 0; h < height; h++)
    for (int w = 0; w < width; w++) 

用单引号而不是双引号设置数组中的字符。所以:

board[i][j] = '|';

另外,请注意,您只能在每个位置放置一个字符