Поскольку C / C ++ не проверяет границы.
Массивы внутренне указывают на местоположение в памяти. Когда вы вызываете arr[index]
, что он делает, это:
type value = *(arr + index);
Результаты - это большие числа (не обязательно), потому что они являются значениями мусора. Также как неинициализированная переменная.