У меня есть следующий код в C:Присвоить массив междунар в C, но получил дополнительные ИНТ 32767
int main(){
int array[] = {1,2,3,3,4,5,6,7,8};
printf("%d\n", array[8]);
printf("%d\n", array[9]);
}
Когда я исполню его, я получаю, что результат 8 и 32767. Я запутался Зачем.
обновление
Сожалеем о 3,3 вещь. Что действительно меня смущает - это номер 32767, если его неопределенное поведение, почему это всегда 32767? И я обнаружил weired вещь:
int main(){
int arrayB[] = {7,4,3,4,1};
for(int i = 0; *(arrayB+i); i++){
printf("%d\n",*(arrayB+i));
}
}
Я написал это, и число 32767 появляется снова. И Жуткая часть, если я изменяю массив на любую другую длину (удалять или добавлять числа), он работал просто отлично !!!
В C элементы вашего массива адресуются как [0], [1], ... [8] – Greycon