1

C では、オペランドの評価順序は、演算子の優先順位や結合規則とは関係ありません。

C: expr1 * expr2 + (expr3 + expr4) (no sequence points in between) に式があるとします。

この式が評価されると、次のようになります。

  1. 部分式 expr3 と expr4 は、括弧のために expr1 と expr2 の前に評価されますか?

  2. または、括弧は、括弧内の演算子が括弧外の演算子の前に評価されることを保証しますか?

括弧は、オペランドまたは演算子の評価順序を保証しますか?

4

3 に答える 3

1

括弧は、それらに依存するものの前に、それらの中にあるものが評価されることを保証します。もういや。

あなたの例では、に追加する(expr3+expr4)の前に評価されます。の前に評価されるという意味ではありません。+expr1*expr2expr1*expr2

于 2013-07-01T11:06:30.613 に答える