C言語の設計ミスった危険な関数トップ10決めようぜat TECHC言語の設計ミスった危険な関数トップ10決めようぜ - 暇つぶし2ch■コピペモード□スレを通常表示□オプションモード□このスレッドのURL■項目テキスト50:デフォルトの名無しさん 19/12/11 06:55:08.36 IbA4V9X0.net >>46 メモリが640kバイトしか使えなかった頃からのものだしな 51:デフォルトの名無しさん 19/12/11 07:59:10 yA/FdCBI.net >>5 ストラトック 52:デフォルトの名無しさん 19/12/11 15:20:43 JkExA39E.net 大昔って端末やエディタなんかでも1行256とか1024バイト程度しか扱えなかったばず 53:デフォルトの名無しさん 19/12/11 15:32:22.68 8OP/pbId.net 256 の時代は割と長かった希ガス 54:デフォルトの名無しさん 19/12/13 06:37:32.10 o1f1J6fH.net 昔は1行の長さを先に決めてファイルをクリエイトしました 途中で変更はできません 55:デフォルトの名無しさん 19/12/14 13:26:55.02 TlZt0bii.net 関数そのものじゃないが breakにラベル指定出来なかったのは設計ミスやろ 56:デフォルトの名無しさん 19/12/14 13:54:03.80 JwYnIOEa.net その為のgoto 57:デフォルトの名無しさん 19/12/14 22:43:29.04 8CJijD11.net gotoはラベルのスコープが広いから使いにくい。ループごとに別のラベル名を 付けないといけないし、ラベル名を別のループ用のものと書き間違えると 意図しない所へ飛んで行ってしまう。スパゲッティでバグの元。 ループにラベルを付ければ、スコープがそのループ内に限定され、そのループの 外にある別のループに同じラベル名を付けることができるから、書きやすく 読みやすい。例えば、こんな感じ。 for @outer (i = 1; i <= 3; i++) { for (j = 1; j <= 3; j++) { printf("%d, %d\n", i, j); if (i * j > 3) break @outer; } } for @outer (i = 1; i <= 5; i++) { for (j = 1; j <= 5; j++) { printf("%d, %d\n", i, j); if (i * j > 5) break @outer; } } 次ページ最新レス表示レスジャンプ類似スレ一覧スレッドの検索話題のニュースおまかせリストオプションしおりを挟むスレッドに書込スレッドの一覧暇つぶし2ch