The site is horribly wrong!
(in this point, I don't know the rest, but one has to say it clear ;)
Their example:
// store only 3 elements in the array
int x[6] = {19, 10, 8};
Here, the array x has a size of 6. However, we have initialized it with only 3 elements.
In such cases, the compiler assigns random values to the remaining places. Oftentimes, this random value is simply 0.
It is really common to find wrong online tutorials, though it is still shocking how wrong they can get even the most basic details.
You can find a correct example when you follow the link at the bottom of this cppreference page about arrays in C++ to a page about array initialization in C (cppreference is a rather reliable resource, because it is a collaborative effort, errors don't survive for long):
int y[5] = {1,2,3}; // y has type int[5] and holds 1,2,3,0,0
And a bit up on the same page (still C):
All array elements that are not initialized explicitly are zero-initialized.
The difference in C++ is that the remaining elements are value-initialized (which means 0 for ints). You find the relevant part in the C++ standard here (thanks to @Mat for the link): http://eel.is/c++draft/dcl.init#general-16.5.
Note that whenever you read that something that has no initializer is getting a "random" value you need to be careful, because thats non-sense. Uninitialized variables never get a random value assigned! If something is uninitialized it is said to have a indeterminate value. Indeterminate values are not random.
TL;DR
My question is, could those values be other than 0, even if in rare?
A compiler does not assign random values to those elements. Why would a compiler do something like that? They are guaranteed to be 0.