以下のコードでxの値は何ですか?その理由を説明できますか? 私は、xが8になるべきであると思ったが、結果は...それは2であるint値の演算子「?:」を使用した結果
int x=3;
x = 4? 2: 8;
以下のコードでxの値は何ですか?その理由を説明できますか? 私は、xが8になるべきであると思ったが、結果は...それは2であるint値の演算子「?:」を使用した結果
int x=3;
x = 4? 2: 8;
2番目のコード行で常に真である4をチェックしているので、条件が真であるため出力2が返されます。そして、以下のようなコードを書く:あなたは8となりたい場合は条件が偽であるとして、xの値が3であり、あなたが8だと思いますなぜあなたは4
これを示しています。?:
は三項演算子です。構文は次のとおりです:(condition) ? (if_true) : (if_false)
。つまり、condition
がtrueの場合はif_true
、それ以外の場合はif_false
が返されます。
(あなたがバイナリで4
を表している場合ではないすべてのビットのは0
あるため)だから、あなたの場合には、condition
は常に真である4
あり、それゆえif_true
部分が返されます。 thisも確認してください。
に対してそれをチェックしているので、
それは8を返します。 ?あなたが知ったようにそれは間違っています。 –
xが8になると思った理由を教えてください! – John3136
タイトルに記載されているこの演算子「q」は何ですか?それは質問の本文には言及されていません。 – Gerhardh