q-p
должен возвращать количество шагов с шагом, которое вы должны сделать, чтобы перейти от p
до q
. Это 1000 / sizeof(int)
и равно 250. Помните, что q++
действительно перейдет к следующему элементу типа int, а не к середине его, поэтому он должен добавить 4 к фактическому значению указателя. Отсюда и результат.