3

Cでは、次のステートメントです

a+=3,b=c*2,d=a+b;

次のステートメント ブロックと同等です。

a+=3;
b=c*2;
d=a+b;

私の言いたいことは理解できたと思います。C の同じステートメントで、コンマで区切られた複数の数式を安全に使用できますか?また、これが問題を引き起こす可能性があるのはどのような場合ですか?

4

2 に答える 2

1

それらは同じです。

C では、カンマ演算子はその左側を評価し、戻り値を無視し (たとえば、x = y の戻り値が新しい値です)、右側を評価して、その結果 (存在する場合) を返します。コンマ演算子の使用は、その値を使用 (破棄など) せずに、左側にあるものの副作用を評価して取得することです。

于 2013-04-17T07:09:57.900 に答える