動作未定義でいいなら
i=i++;
だけでも実装によって動作が違う例がある。