我正在尝试用c ++创建一个基于网格的数组,当我通过控制台创建网格时,它很好但是当我尝试在数组中实现它时,它会混乱。
int i,j;
for(i=0;i<100;i++) {
for(j=0;j<100;j++) {
cout << j << " ";
};
cout << endl;
};
当我以前创建和cout数组网格时,它的工作方式不同:
int i,j, img[100][100];
for(i=0;i<100;i++) {
for(j=0;j<100;j++) {
cout << img[i][j] << " ";
};
cout << endl;
};
我到底做错了什么?
这应该是正确的输出:
//99 rows of the following code
0 1 2 3 4 5 6 7 8 9 10 11 12 ... 99
0 1 2 3 4 5 6 7 8 9 10 11 12 ... 99
0 1 2 3 4 5 6 7 8 9 10 11 12 ... 99
...
x99
注意:这个控制台很好并且可以很好地写入文件,但是当我尝试使用数组重现它时,它会搞砸。大多数显示0。我需要将其合并到一个数组中,因为我需要修改网格的特定部分。
答案 0 :(得分:3)
您在未初始化的数组中打印出值。默认情况下,img[i][j]
的值不是j
- 您不应该假设其默认状态。如果你这样做来初始化数组,那么你应该得到你期望的输出:
int i,j, img[100][100];
for(i=0;i<100;i++) {
for(j=0;j<100;j++) {
img[i][j]=j;
}
}
//then print it out.