In most modern computer languages, a does have deterministic
behavior, even when the array has less than 56 (ha!) elements.
However most UNIX code is in C, which does not (and without restricting
the language, cannot) guarantee deterministic behavior in this case. C++
is the same as C in this regard, if you continue to use C-style arrays
rather than any of the gazillions of good container libraries (including
the built-in STL).
Most languages I would imagine have the integer overflow problem.