有谁能告诉我为什么这是一个1-d数组而不是2-d?没关系我是个白痴。
int colls = 5;
int rows = 4;
int array[rows][colls];
for (int x=0; x < rows; x++)
{
for (int g=0; g < colls; g++)
{
array[x][g]=0;
cout <<array[x][g];
}
}
答案 0 :(得分:0)
尝试
for (int x=0; x < rows; x++)
{
for (int g=0; g < colls; g++)
{
array[x][g]=0;
cout <<array[x][g];
}
cout << endl;
}
答案 1 :(得分:0)
因为您不在每行之后打印新行:
int colls = 5;
int rows = 4;
int array[rows][colls];
for (int x=0; x < rows; x++)
{
for (int g=0; g < colls; g++)
{
array[x][g]=0;
cout <<array[x][g];
}
cout << endl;
}
答案 2 :(得分:0)
因为您在打印行的所有元素后没有打印换行符。
试试这个:
for (int x=0; x < rows; x++)
{
for (int g=0; g < colls; g++)
{
array[x][g]=0;
cout <<array[x][g];
}
cout << endl; //prints newline
}
顺便说一下,您似乎已在代码中编写了using namespace std
。这会将名称空间std
中的所有名称带到当前名称空间,这被认为是一种很好的做法。所以我建议你删除这一行(如果你写的那样):
using namespace std; //remove this line from your code.
然后使用std::cout
代替cout
,std::endl
代替endl
。
同样,将std::
与名称空间std
中的所有其他名称一起使用。
答案 3 :(得分:0)
首先,您的数组维度必须为“const”。其次,你需要在内循环结束时使用结束语。
答案 4 :(得分:0)
我想您希望在每一行之后打印endl
,这将在colls
循环之后,即在rows
循环的每次迭代之后。