誰も私のために説明することができます:変数代入し、カンマ演算子
int a, b, c, d;
a = 2;
b = 4;
c = a, b;
d = (a, b);
なぜc == 2
とd == 4
???
誰も私のために説明することができます:変数代入し、カンマ演算子
int a, b, c, d;
a = 2;
b = 4;
c = a, b;
d = (a, b);
なぜc == 2
とd == 4
???
二つの文は両方による(任意のオペレータの最も低い優先順位を有する)コンマオペレータはCおよびC++でどのように機能するかに
c = a;
d = b;
として評価されています。
最初にc = a
が評価されます(=
はカンマ演算子よりも優先順位が高いため)b
(これはノーオペレーションです)が評価されます。 式全体のの値はb
ですが、何も割り当てられていません。
d = (a, b);
については、括弧のために(a, b)
が最初に評価されます。これは値b
を持ち、d
に割り当てられています。
ok、ありがとう^ _^ –
@TrầnHồngPhát - それはあなたとそのスポットに役立つので、この答えを受け入れる必要があります。 – StoryTeller
画像にコードと結果を投稿しないでください。携帯端末で見るためのPITAであり、コンパイラでもコードを試すことができます。あなたがそれを修正するまで-1。 –
これで申し訳ありません。 –
Downvote retracted。 – Bathsheba