forループ内に追加しても、sumの値は変わりません。diffの値は3です
印刷される値は、最初の反復で3 3 3のようになり、3 6 9になるはずです。誰か助けてくれませんか?
loop start
sum = sum + diff<(26-diff)?diff:(26-diff);
loop end
数式の計算方法の優先順位が、間違った結果を得る原因になっています。あなたの現在の声明はこれと同等です:
sum = (sum + diff)<(26-diff)?diff:(26-diff);
したがって、はの値に等しくなります。diff
これは常に3
です。ステートメントを次のように変更します。
sum = sum + (diff<(26-diff)?diff:(26-diff));
そして、あなたはあなたが期待している振る舞いを得るでしょう。+=
ステートメントを次のように変更することで、演算子を使用してこれを修正することもできます。
sum += diff<(26-diff)?diff:(26-diff);
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加