クリティカルな問題
C2H コンパイラーは、常に両方の論理関数を評価します。
( &&
、 ||
) および条件 ( ?:
)
演算子。これは予想される米国標準規格とは異なります。
インスティトゥート (ANSI) C の動作は、云云を左から右に評価する場合、
そして不要な囃子を卉卉
例えば、式では (i-- && j--)
、
値が 0 の場合 i
、ANSI C は評価しません。
右側 (RHS) の式で、 j
次の式ではありません。
デクリメント。対照的に、C2H コンパイラーは両側を評価します。
decノト j
.
次の式はその他の例です。 この問題の影響を受ける:
if (i-- || j )
...;
a = ((cond == 1)? i : j );
演算子が持つ論理演算と条件演算を使用する
何の有害作用もありません。悪影響を及ぼす操作には、前処理および後処理が含まれます。
刻みおよび減分演算 (
、 --
)
メモリー操作 ( *
, []
, ., ->
)
および機能呼び出し。