代码如下。
大概说一下,内容很简单。
声明了两个二维数组A、B,都是[n][m]维。
1. 打印第n+1行的内容,可以看到A都是随机数,正常;B的n+1行却是0。
2. 给二维数组正常赋值之后,再打印n+1行的内容,发现有B的n+1行也被赋值了。
是我哪里写的不对么?求指教
#include <iostream>
using namespace std;
int main(int argc, const char * argv[]) {
const int width = 10;
const int height = 10;
int A[height][width];
int B[height][width];
//赋值之前的n+1
for (int i = 0; i<width; i++) {
cout << "A1[height][" << i << "]:" << A[height][i] << endl;
}
for (int i = 0; i<width; i++) {
cout << "B1[height][" << i << "]:" << B[height][i] << endl;
}
//赋值
for (int i =0; i < height; i++) {
for (int j = 0;j < width; j++) {
A[i][j] = -1;
}
}
for (int i =0; i < height; i++) {
for (int j = 0;j < width; j++) {
B[i][j] = -1;
}
}
//赋值之后的n+1
for (int i = 0; i<width; i++) {
cout << "A2[height][" << i << "]:" << A[height][i] << endl;
}
for (int i = 0; i<width; i++) {
cout << "B2[height][" << i << "]:" << B[height][i] << endl;
}
return 0;
}
大概说一下,内容很简单。
声明了两个二维数组A、B,都是[n][m]维。
1. 打印第n+1行的内容,可以看到A都是随机数,正常;B的n+1行却是0。
2. 给二维数组正常赋值之后,再打印n+1行的内容,发现有B的n+1行也被赋值了。
是我哪里写的不对么?求指教
#include <iostream>
using namespace std;
int main(int argc, const char * argv[]) {
const int width = 10;
const int height = 10;
int A[height][width];
int B[height][width];
//赋值之前的n+1
for (int i = 0; i<width; i++) {
cout << "A1[height][" << i << "]:" << A[height][i] << endl;
}
for (int i = 0; i<width; i++) {
cout << "B1[height][" << i << "]:" << B[height][i] << endl;
}
//赋值
for (int i =0; i < height; i++) {
for (int j = 0;j < width; j++) {
A[i][j] = -1;
}
}
for (int i =0; i < height; i++) {
for (int j = 0;j < width; j++) {
B[i][j] = -1;
}
}
//赋值之后的n+1
for (int i = 0; i<width; i++) {
cout << "A2[height][" << i << "]:" << A[height][i] << endl;
}
for (int i = 0; i<width; i++) {
cout << "B2[height][" << i << "]:" << B[height][i] << endl;
}
return 0;
}
