网格中的2d字符阵列显示

时间:2013-05-16 20:26:29

标签: arrays char 2d

我在初始化2d char数组时遇到了困难。当它工作时,它给我一个hexa输出。我正在寻找网格线上的东西。

#include <iostream>


using namespace std;


main() 
{   


//char test[5][5] = {'***\0','***\0','***\0','***\0','***\0'};
char test[5][5] = {"***\0","***\0","***\0","***\0","***\0"};
cout << test << endl;
cout << char[2][2] << endl;


cin.get();
return 0;


}

建议使用字符串数组,但我需要为另一个数组定义数组地址,并将其与价格联系起来。

1 个答案:

答案 0 :(得分:0)

for(int i = 0; i < 5; i++) {
    for(int j = 0; j < 5; j++) {
        test[i][j] = '*';
    }
}

//Alternatively you can go for this

char test[5][5] = {'*', '*', '*', '*', '*', 
                   '*', '*', '*', '*', '*', 
                   '*', '*', '*', '*', '*', 
                   '*', '*', '*', '*', '*', 
                   '*', '*', '*', '*', '*'};

这显然不能准确地说明你想要的东西,它需要一些调整。这将为您提供两个字符数组,所有字符都设置为'*'。尽管使用std :: vector或std :: array可能更好,但这至少会起作用。

我认为第二种方法是“危险的”,因为它正在利用内存测试[25] == test [5] [5]这一事实,但你应该清楚地使用你想要的更好。< / p>