問題タブ [pre-increment]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
4 に答える
2895 参照

c - C プログラムでのプリインクリメント演算子の動作

次の C コードを実行しています。

私は結果を期待しています

しかし、それは異なる結果をもたらしています。プリプロセッサについて誤解していると思います。コードは次のようになると思います

間違っている場合は修正してください。

結果が 3*4*5=60 になると解釈しています
が、125 になっています。

0 投票する
1 に答える
670 参照

php - マジックのgetとsetが定義されたPHPでのプリインクリメント

長い間やりたいことを台無しにしてきた問題があります。これは、PHPでの魔法のgetとsetの使用、およびオブジェクトに対して事前インクリメントを実行しようとすることに関連しています。私は次のようなPHPクラスを持っています:

メソッドのに注意してください&__get今、私はこのコードを実行します:

そして、出力は次のとおりです。

3番目と4番目のテストには、予期しない(私による)動作があります。$ this-> object ['bar']は、予想どおりの古い値ではなく、設定する値を返すように見えます。実際に設定される前に、なぜ値がすでに設定されているのですか?

&メソッドからを削除する__getと、これは機能するので、PHPが行う参照管理と関係があると思います。しかし、3番目のテストは2番目のテストと同じように動作することを期待しますが、そうではありません。

私は本当にこれを理解していません。どんな助けでも大歓迎です。

0 投票する
1 に答える
208 参照

c - Cでのブール式の結果

次の式が0と評価されるのはなぜですか?

i = 5と仮定します。式を左から右に評価すると、左のオペランド(i)を評価して5を取得し、右のオペランド(--i)を評価して4を取得します。 gccでコンパイルして実行すると、常に0と評価されます。思考プロセスに欠陥はありますか?

0 投票する
3 に答える
7640 参照

c - C のポスト インクリメントとプリ インクリメント

次の 2 つの C ステートメントについて質問があります。

  1. x = y++;

  2. t = *ptr++;

ステートメント 1 では、y の初期値が x にコピーされ、y がインクリメントされます。

ステートメント 2 では、*ptr が指す値を調べ、それを変数 t に入れ、後で ptr をインクリメントします。

ステートメント 1 では、接尾辞インクリメント演算子が代入演算子よりも優先されます。では、最初に y をインクリメントしてから、インクリメントされた y の値に x を代入するべきではありませんか?

これらの状況での演算子の優先順位がわかりません。

0 投票する
3 に答える
673 参照

java - 式の評価順序はC++とJavaでどのように異なりますか?

このページの例を理解しようとして頭がしわになりました: http ://answers.yahoo.com/question/index?qid = 20099103170907AAxXYG9

より具体的には、このコード:

出力を与える:566

式が右から左に評価される場合、これは私には理にかなっていますが、Javaでは同様の式です。

次の出力を提供します:456

これは、左から右に評価されていることを示しているため、より直感的です。さまざまなサイトでこれを調査すると、C ++ではコンパイラ間で動作が異なるようですが、私はまだ理解しているとは確信していません。JavaとC++の評価におけるこの違いの説明は何ですか?ありがとうSO。

0 投票する
1 に答える
585 参照

java - 出力8 2を与えるSCJPプログラムはどうですか?

このscjpコードを試してみたところ、出力5 3が得られました。どこが間違っているのか教えてもらえますか

0 投票する
4 に答える
7975 参照

java - 変数への割り当ては効果がありませんか?

私がこれを行うとき:count = ++ count; 警告が表示されるのはなぜですか-変数カウントへの割り当ては効果がありませんか?これは、カウントがインクリメントされてから、それ自体または他の何かに割り当てられることを意味しますか?++ countと同じですか?count =count++で何が起こるか; ?これについて警告が表示されないのはなぜですか?

0 投票する
2 に答える
485 参照

c++ - cの同じステートメントの同じ変数にインクリメンターとデクリメンターを含めることはできますか

Cの有効なステートメント?(コンパイル/実行されますか)そして、これのための実用的なアプリケーションはありますか?

編集で質問を変更して申し訳ありませんが、私は何かを見つけました。

私のC++コンパイラ(Visual Studio 2010)によると:

は有効なコマンドですが

ではありません。これには何か理由がありますか?

0 投票する
6 に答える
746 参照

java - なぜJavaステートメントの評価がこのように起こっているのですか?

出力は次のようになります。

理由がわかりません。これを説明してください。

0 投票する
4 に答える
406 参照

java - a=3 と b=4 はどうですか?

私は興味深いプログラミングの質問を見つけました:

このプログラムを実行すると、a,b,c,f の値はどうなるでしょうか?

価値観だと思った

a=2 、 b=2 、 c=2 および f=2 ですが、

このプログラムを実行すると、a = 3、b = 4、c = 2、f = 2 が得られました。

c と f が値 2 を取得する方法を理解しましたが、どうして a=3 と b=4 になるのでしょうか。

(構文によると、++a と a++ は異なります。++a は値を更新してから使用しますが、a++ は値を使用してから更新します)

a と b の値が 3 と 4 になった方法を説明できる人はいますか?

アップデート:

私の疑問は次のとおりです。i ++では、初期値は0であり、1ではありません。しかし、どのようにケース4 => a = 3

a=2 である必要があり、a=a++ のような置換を行っていないため、ケース 5 で「a」の更新があった場合 (これは正しくありません)、値をインクリメントする必要があります。

任意のヘルプをいただければ幸いです。