这是我的代码:
#include <iostream>
#include <iomanip>
using namespace std;
int main()
{
int steve[2][3] = {{2, 3, 4}, {8, 9, 10}};
//What the array will look like:
// 2, 3, 4,
// 8, 9, 10
//They operate like coordinates: array[row number][index of element within row]
//cout << steve[row][column];
int n = 0;
int i = 0;
//my way
while (n == 0 && i < 3)
{
cout << steve[n][i] << setw(2);
i++;
if (i == 3)
{
cout << endl;
i = 0;
n +=1;
while (n == 1 && i<3)
{
cout << steve[n][i] << setw(2);
i++;
}
}
}
}
我的问题是我的输出看起来像这样:
2 3 4
8 910
[当我试图使它看起来像这样时:
2 3 4
8 9 10
有人可以向我解释为什么setw()无法正常工作,以及它实际上对我的代码有何作用?只是要抬起头,我已经尝试在两个输出命令上简单地使用空格,例如:
cout << steve[n][i] << " ";
cout << steve[i][n] << " ";
它以我想要的方式工作,但是我真的很想知道setw()的工作方式以及为什么它会给我这个问题。
谢谢。
输出将在右侧对齐,对于所需的输出,您需要将其与左侧对齐: