array[]= {15,78,98,15,98,85,17,35,42,15};

int main(void)
{
 int *p_array=array;
 int sum= 0;
 while(p_array<array+10)
  {
 sum += *p_array++ ;  
 printf("sum %d\n",sum);
  }

printf("average %d\n",sum/10);
return 0;
}

sum += *p_array++ ここが疑問です。
実際にはsumへの加算が終わってから、ポインタが移動しているようなのですが、
演算の優先順位( ++ > * > =)に従うとポインタが先に移動してから加算される気がしますが、そうなってはいません。
なぜこうなるのでしょうか。