Shell Sort Comparisons/Exchanges Counter
Your counting code seems correct.
comparison increments on each compare operation,
exchanges increments only on exchange.

On reversed array of 2000 elements I have got: comparison = 26416 and exchanges = 10400 

\$log_{2000} {26416} \approx 1.34\$
So you have \$O(n^{1.34})\$ complexity.
Which is between \$O(n^{3/2}) = O(n^{1.5})\$ and \$O(n^{5/4}) = O(n^{1.25})\$
So according to wiki it's okay for usual gap sequence.
exchanges = 10400 is less then average move count \$0.41N\ln N (\ln \ln N + 1/6)\$ which in case of N = 2000 is approximately 13500, but it depends on gap sequence. E.g if you start with gap = N / 8 it will be equal to 14400.