В следующем коде я присвоены значения к элементам массива, которые находятся вне границ массива, в Linux среды в CLI код дает мне сообщение об ошибке : array index 5 is past the end of the array which contains 5 elements
.Массив: из индекса/границ
Но при отладке на IDE codeblocks -compiler не может найти эту ошибку - так есть ли какое-либо объяснение?
#include <stdio.h>
int main()
{
int array[5],i;
for (i=0; i<5; i++) {
array[i] = i+1;
}
array[5] = 666;
for (i=0; i<5; i++) {
printf("array[%d]=%d\n", i, array[i]);
}
printf("array[5]=%d\n", array[5]);
return 0;
}
Использование знаков за пределами границ массива - [неопределенное поведение] (https://www.google.pl/webhp?sourceid=chrome-instant&ion=1&espv=2&ie=UTF-8#q=c%20undefined%20behavior). Вы не можете, кроме любой среды, сделать что-нибудь. – Crozin
Что такое компилятор кодовых блоков? – LPs
Подумайте о последствиях ** undefined ** _behaviour_. – Olaf