После первого ptr ++ это будет:
Следовательно, printf("%d %d %d\n",ptr-p,*ptr-arr,**ptr);
даст: 1 1 1
После * ptr ++ это будет:
Следовательно, printf("%d %d %d\n",ptr-p,*ptr-arr,**ptr);
даст: 2 2 2
После * ++ ptr это будет:
Следовательно, printf("%d %d %d\n",ptr-p,*ptr-arr,**ptr);
даст: 3 3 3
После ++ * ptr это будет:
Следовательно, printf("%d %d %d\n",ptr-p,*ptr-arr,**ptr);
даст: 3 4 4
Надеюсь, это поможет.