这是一个错误吗?我是数组的“溢出”吗?

问题描述 投票:-3回答:1

真的不知道此C代码是什么问题!

我溢出数组了吗?

#define ARRAY_SIZE 10
void main() {
  int array[ARRAY_SIZE];
  for (i = 0; i <= ARRAY_SIZE; i++)
    array[i] = "A";
}
c
1个回答
1
投票

数组被索引为0。最后一个元素位于array [9],因此,请更改:

 i <= ARRAY_SIZE

to

i < ARRAY_SIZE

否则'i'将变为10,您将拥有

array[10] = "A";

哪个超出范围。

此外,“ A”是一个char指针,但是您将其分配给一个int。

© www.soinside.com 2019 - 2024. All rights reserved.