【发布时间】:2020-10-18 16:35:33
【问题描述】:
我正在尝试打印这样的二维数组。
1,2
3,4
5,6
7,8
直到 20 点
这是代码
#include <iostream>
using namespace std;
int main()
{
int A[10][2]={1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20};
for(int i=0;i<10;i++)
for(int j=0;j<2;j++)
{
cout<<A[i][j]<<" ";
}
cout << endl;
}
但是每次打印时,它都会以直线打印它们,例如 1 2 3 4 5 6............. 我会做错什么吗?
【问题讨论】:
-
开启编译器警告。它是否说您的代码可能是错误的?与缩进有关吗?
-
你没有做你认为你正在做的事情:你实际上是在做这个:
for(int i=0;i<10;i++) { for(int j=0;j<2;j++) { cout<<A[i][j]<<" "; } } cout << endl; -
如果在
for循环之后不使用大括号,那么只有下一行将在for的范围内。所以在第一个for之后使用大括号,然后将第二个for和cout << endl;放在第一个for的范围内。 -
int A[10][2] = { {1, 2}, {3, 4 }, {5, 6}, {7, 8}, {9, 10}, {11, 12}, {13, 14}, {15, 16}, {17, 18}, {19, 20} };初始化数组的正确方法 -
好的,我在大括号中添加了第二个“for”,得到了想要的结果。但是为什么 endl;当我把它放在第二个大括号中时不会被迭代吗?为什么 '2' 在 '1' 之后没有出现在第二行?