Почему при выводе значений массива в конце есть два мусорных значения

Я определяю массив типа int из 6 цифр и при переборе этого массива в выводе получаю мусорные значения, почему так происходит?

int main(void)
{
  int arr[] = {1, 4, 6, 8, 12, 20};
  int n; 

  for (n = 0; arr[n] != '\0'; n++)
   printf("%d - %d\n", n, arr[n]);

  return 0;
}

В выводе наблюдаю цифры:

0 - 1
1 - 4
2 - 6
3 - 8
4 - 12
5 - 20
6 - -1719089664 // ?
7 - -738826128  // ?

И почему их два, а не девять например? или не двадцать ...


Ответы (0 шт):