数组中的整数索引增量

Pav*_*mar 0 c arrays integer loops for-loop

我在下面的片段中有一个疑问.实际上我在下面的代码中将所有数组索引初始化为零,但是这个for循环是无限的.我发现我们正在尝试访问数组的第26个索引,因此该值会再次初始化为零,因为有0到25个索引.所以for循环是无限的.解释一下这个东西背后的实际原因.

int array[26];
int i; 
for (i = 0; i <= 26; i++) 
    array[i]= 0;
Run Code Online (Sandbox Code Playgroud)

Thi*_*ter 10

你必须使用i < 26; 否则你超过数组范围.

由于堆栈的布局在大多数系统array[26]上将指向用于i导致循环重新启动的内存,因为循环体将i设置为0而不是适当的数组元素.

请注意,您只需使用int array[36] = { 0 };创建数组,并将所有元素设置为0.