This fails on overflow: if N == INT_MAX then your loop doesn't terminate and actually invokes undefined behavior in C.
The safe way to write it is:
for (int i = 0; i < N; ++i) { something(array[N - 1 - i]); }