Массив не инициализирован, он получает случайные значения, находящиеся в данный момент в памяти.
Вы можете инициализировать массив следующим образом:
int foo [3] = { 0, 0, 0 };
Также см. Раздел «Инициализация массивов» here :
По умолчанию обычные массивы локальной области видимости (например, объявленные внутри функции) остаются неинициализированными.Это означает, что ни один из его элементов не имеет какого-либо конкретного значения;их содержимое не определено в тот момент, когда массив объявлен.