Вы объявили массив размером 1.
int arr[100]; //100 elements
int arr2[1]; //1 element
int arr3[1-00] // 1 - 0 = 1 element
доступ к элементам за пределами массива является неопределенным поведением, что означает, что компилятор может делать все, что захочет. Прочтите this для получения дополнительной информации о неопределенном поведении.