-snip-
No no, you misunderstand. (Let's assume that %count is predefined as 0 because exceptions.)
-1+(++%count) = -1 + (%count has already been incremented, so 1) = 0, as would be expected.
-1+(%count++) = -1 + (%count does not get incremented until AFTERWARDS, so 0) = -1, which forgets stuff up.
%count still becomes 1 in both cases, but in one case it's done before the addition and in one case it's done after.