На форуме были и другие вопросы/ответы по отрицательному массиву в C, но я бы попросил ответить на них для 32-битного компилятора: если у нас есть определенный массив int test_array[5] = {1,2,3,4,5};
то какие следующие операторы должны возвращать test_array[20]
, test_array[-2]
, test_array[-32764]
, test_array[4294967700]
(значение больше, чем может вместить 32 бит), *(a-32764)
и т. д.
Принуждает ли компилятор возвращать какое-либо фиксированное значение в случае, если индекс выходит за пределы объявленного диапазона?