3

次のパズルをしています。私が正しい答えを選んでいるかどうか、誰かがチェックしてくれるかもしれません。見てください。

次のうち、左辺値について正しいステートメントはどれですか?

1 左辺値は、long int 型の数量を含む算術演算の結果です。

2 すべての左辺値は、割り当てステートメントの右側で使用できます。

3 左辺値は、定義上、割り当てステートメントの右端に現れる値です。

4 定義上、左辺値はポインターによって間接的に参照される記憶域です。

5 左辺値は、シフト演算子の左側に表示できる任意の量です。

わかりました、左辺値はメモリ内のオブジェクトへの参照です。したがって、一見すると4番目の答えを思いつきましたが、左辺値はストレージ自体ではないため、今では正しいものではないようです(そして答え4はそれを意味します)。# その場合、左辺値は代入演算子の左側と右側で使用できるため、答え 2 は正しいと考えています。どう思いますか?

4

1 に答える 1

4

左辺値は代入演算子の左側と右側で使用できるため、答え2は正しいと思います

はい、まさにこの理由から、これは真実です。

他のステートメントの問題:

1) 左辺値は、long int 型の数量を含む算術演算の結果です。

いいえ。存在long intするかどうかは左辺値とは関係ありません。(long int)42タイプは ですがlong int、左辺値ではありません。

3) 左辺値は、定義上、割り当てステートメントの右端に現れる値です。

いいえ、特別な名前があるかどうかはわかりませんが、それは確かに左辺値の定義ではありません。

4) 定義上、左辺値はポインターによって間接的に参照される記憶域です。

いいえ。そのためのポインターは必要ありません。のようにint i = 1337;i左辺値です。ただし、コードにはポインターはまったくありません。

5) 左辺値は、シフト演算子の左側に表示できる任意の量です。

いいえ。一見すると、左辺値は何らかの方法 (変数または配列のメンバーへの代入) で変更される機能と関係があるため、このステートメントはshift operatorreadではなく true に近くなりますassignment operator。ただし、すべての左辺値を変更できるわけではありません (たとえば、定数は左辺値ですが、初期化後に変更することはできません)。

于 2013-02-01T18:33:52.620 に答える