[解決済み] オフバイエラーとは何ですか、またその修正方法は?
2022-03-04 14:12:22
質問
off-by-oneエラーとは何ですか?もしあれば、どのように修正すればよいですか?
解決方法は?
某 オフバイエラー というのは、例えば、ループをn回実行するつもりで、次のような書き方をした場合です。
for (int i = 1; i < n; ++i) { ... }
または
for (int i = 0; i <= n; ++i) { ... }
最初のケースでは、ループが実行されます
(n - 1)
回、2回目の場合は
(n + 1)
回となり、名前が1つずつずれていく。他のバリエーションも可能ですが、一般的にはループ変数の初期値やループの終了条件に誤りがあるため、ループの実行回数が1回多いか少ないかの違いとなります。
このループは、正しく次のように書くことができます。
for (int i = 0; i < n; ++i) { ... }
forループはwhileループの特殊なケースに過ぎません。whileループでも同じようなエラーが発生する可能性があります。
関連
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン