0

我有一个 15x20 数组,我想更改每个条目的值,然后将它们全部计算出来。

char map[15][80];

这是我的代码来计算所有条目。

for (int a=0;a<=15;a++) {
              for (int b=0;b<=80;b++) {
                  map[a][b] = 'a';
                  cout << map[a][b]; } }

如果我将字母表放入数组中,则会出现问题,它将多次打印某个字母。

4

1 回答 1

4
char map[15][80];

您的 for 循环正在读取您分配的数组之外的一个元素。

for (int a=0;a<=15;a++) 
             ^^^^^

for (int b=0;b<=80;b++)
             ^^^^^

有效索引仅在第一种情况下是 from 0to ,在第二种情况下是to 。14
079

请注意,C/C++ 不会为您进行数组边界检查,因此您必须小心不要超出数组的边界,如果这样做,您会得到Undefined Behavior,这意味着您的 C/C++ 程序不是不再有效。

于 2012-06-15T05:48:56.010 回答