以下のステートメントが標準 C で適切に定義されているかどうかはわかりません
*p1++ += 2;
または他の同様のステートメント:
*E1++ <operator>= E2
ポストインクリメントに関する標準 C から:
後置 ++ 演算子の結果は、オペランドの値です。結果が得られた後、オペランドの値がインクリメントされます。(つまり、適切な型の値 1 がそれに追加されます。) 制約、型、変換、およびポインターに対する操作の影響については、加算演算子と複合代入の説明を参照してください。オペランドの格納された値を更新する副作用は、前のシーケンス ポイントと次のシーケンス ポイントの間で発生します。
そして、複合代入について:
E1 op= E2 の形式の複合代入は、単純な代入式 E1 = E1 op (E2) とは異なり、左辺値 E1 が 1 回だけ評価されるという点でのみ異なります。