問題タブ [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 投票する
2 に答える
746 参照

java - C および Java での PreIncrement および PostIncrement 演算子の動作

Visual C++ と Java で次のプログラムを実行しています。

ビジュアル C++

出力:

ジャワ:

出力:

これら 2 つの言語の出力が異なるのはなぜですか? 両方の言語でプリインクリメント演算子とポストインクリメント演算子の扱いが異なるのはなぜですか?

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

c - Cの関数呼び出しで事前インクリメントを使用するのは間違っていますか?

関数呼び出しでポストインクリメント演算子を使用すると問題が発生する可能性があることを Stack Overflow で読みましたが、関数呼び出しでプリインクリメントを使用することも間違っていますか??

助けてください。

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

java - Javaのネストされたforループは、最初のforループで2番目のループをインクリメントしますか?

こんにちは、私は Java を学んでいて、かなりきちんとした解決策を見つけましたが、2 番目の for ループの特定のコード行に興味があります。私はまだJavaの学校に通っていないので、誰に聞いたらいいのかわからないので、ここで聞いていますが、とにかく:

これは「マイナス1」iに「この回数だけ繰り返す」という意味ですか?hより具体的には何(-h)ですか?プレインクリメントですか?そして、なぜそれは括弧内にあるのですか?

変数の宣言で再び使用されますx

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

c - task in increment 、 decrement 、 printf() 、これらが C でこのように評価される理由

3時間近く費やしてこれらのアウトプットがどのように出てくるかははっきりしていますが、詳しく知りたいのは、なぜこのような方法で取得または評価されているのかということだけです.

  1. これは、printf が右から左に評価されると判断するのが難しいため、最初に --a が 2 をプッシュし、次に a-- 2 をポストとして再びプッシュし、次に a が 1 になり、次に --a が最初に 0 を作成し、それを次にプッシュします。出力は 0 2 2 になると思いましたが、驚いたことに 0 2 0 だったので、pre increment と decrement を使用したすべての場所に a=0 の最終値が与えられていることがわかりました。なぜこれが起こるのですか?

  2. これを通常の評価と見なし、次に a を 4 として印刷し、次に a-- で再び a を 4 として使用し、再び --aa を 3 として使用して、4+4-3=5 を実行すると、a の最終値が発生します。途中で行われたポストデクリメントから -1 になるため、 a は再び 2 になります なぜこれが起こっているのですか?

  3. この実行は上記と同じで、4 * 4 * 3 = 48 を取り、最終的な値は 2 です。

  4. これはトリッキーではありませんが、詳細に答えたいと思います。最初に i は ++i で 4 になり、i++ で i は 4 になり、次に ++ii で 5 になり、4*4*5 = 80 になります。この場合、私はそれを i 自体に保存するので、i は 80 になり、ポストの増分として 1 +1 になります。したがって、80 を別の変数 j に格納し、それが 80 であり、最終的な i の値が 6 であることがわかった場合、1 つの明確な決定を下すことができます。

したがって、論理的には、これらすべてのケースで物事を印刷して表示するだけで判断しましたが、今後もこれに完全に基づいているものはさらに多くあります。個別の状態または何かとしてインクリメントします。このようなさまざまなプログラムを、印刷を続けることができず、パターンを見つけることができず、誰かがここで詳細に助けてくれます。そして最悪の部分は、私が ideone でコードを実行したところ、完全に異なる出力が得られたことです。興味があれば ideone でテストすることもできます。なぜこれらが起こるのか、誰かが私に教えてください。私はこのことに 3 時間頭を悩ませています専門家.そして、私はgccコンパイラを使用しました.

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

c++ - 接尾辞と接頭辞のインクリメント演算子は式でどのように評価されますか?

このプログラムを Visual Studio で実行すると、出力は 7 8 5 になります。

コンパイラ依存だと思います。(間違っていたら訂正してください)しかし、それは 7 7 5 か 5 7 7 のどちらかであるべきではありませんか?

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

arrays - bash: 予期しない配列メンバー ハンドル

最後のコマンド ラインで、次の bash の動作がおかしいことがわかりました。私にとっては、まったく予想外です。

bash は「i」変数を事前にインクリメントしているようです。

同様の奇妙な動作:

誰かが私にその行動を教えてくれますか?

事前にサンクス

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

c++ - プレインクリメントが期待どおりに機能しない

オンラインでいくつかの質問を解決することにより、動的プログラミングを学習しようとしています。私が遭遇した1つの質問では、次の入力を処理する必要があります

4 10 3 4 4 5 6 7 5 7

最初のポイントは項目数、2 番目は総容量、残りの 4 つ (ペア) は値と容量をポイントする必要があります。

私が抱えている問題は、それを解析するコードにあります。

このプログラムを実行すると、この入力に対して間違った出力が得られます

ただし、行のコメントを外し、挿入のために前の行にコメントを付けると、期待どおりの結果が得られます

私はそれがいくつかの基本的なエラーでなければならないことを知っています。前もって感謝します、