我在初始化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;
}
建议使用字符串数组,但我需要为另一个数组定义数组地址,并将其与价格联系起来。
答案 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>