【发布时间】:2018-08-21 07:09:03
【问题描述】:
我正在尝试通过 for 循环创建一个二维数组,但我得到了一些垃圾随机数 代码:
unsigned int i, j;
int matrix[10][10];//={{},{}};
for (i = 0; i < sizeof(matrix[i])/sizeof(int); i++) {
for (j = 0; j < sizeof(matrix[j])/sizeof(int); j++) {
cout <<matrix[i][j] << " " << flush;
}
cout << endl;
}
当我将 cout 部分更改为以下内容时
cout <<matrix[i][j] = {{i},{j}} << " " << flush;
我得到一个错误。
我该怎么做呢? 先感谢您。
【问题讨论】:
-
这是一个二维数组,不是 10D
-
填充矩阵的代码在哪里?
-
@JJcopl 为什么您期望的输出与您看到的不同?你期待看到什么?您可能会考虑定义一些常量而不是使用
sizeof(这不会按您期望的方式工作)。如果您将其中一个数组维度更改为与另一个不同的数字,您当前的代码将会中断。试试这个:const int dim1 = 10; const int dim2 = 10; int matrix[dim1][dim2]; for (i = 0; i < dim1; i++) { for (j = 0; j < dim2; j++) {...} }
标签: c++ for-loop multidimensional-array