>>90
> func(int *p_xy){ return *p_xy + *(++p_xy) }

これは未定義動作だな。メモリー上の連続性とか関係無しに。