8年前はじめまして、やすと申します。ここを利用させて頂くので失礼な所があればすみません。私はC言語を独学で勉強し始めた(プログラミング自体始めてです)学生です。そこでコマンドプロンプト上でプレイできるオセロを作ろうと思い自分なりにコードを書いてみたのですがうまくいきません、コードは下に記述していますが、実行結果が思うようにいかないのです。黒石をB白石をW空きマスを@で表現し黒の番であれば縦の列の番号、横の列の番号を順に入力してもらい、そこが空いているマス、つまり@であるかどうか調べその後@なら周り8方向の文字がWかどうかチェックし例えば上の方向がWならそのまま上をチェックしてBがあれば今までチェックしたWを全部Bに変える。いう風に書いたつもりだったのですが・・。どこかのwhile文から出れていないのか実行すると縦、横の数字の入力を求めたあとプログラム自体が終了せずに止まってしまいます。どこがおかしいのか調べてみたのですが自分ではわかりませんでした。2008ですよろしくお願いします。8年前ざらっと見ただけですが。言葉だけで説明するのはちょっと大変なので、結論だけざっくりいきます。相手の石をひっくり返す処理を行った後も、延々とひっくり返しているようです。ループを抜けるようにする必要があります。いうより、ひっくり返せるかチェックする処理・ひっくり返す処理は、関数化した方がいいですよ。すれば、このコードもざっくりと半分以下に減らす事が出来ますし、とても見通しが良くなる上に、バグの箇所の特定も迅速に行えるようになります。ちなみに、この手のバグはトレースすれば一発です。非常に強力なデバッガを搭載してますので、デバッガの使い方を覚える事を是非ともお勧めします。返信が遅れました、ありがとうございます。自分ではなかなか気づけなかったので本当に助かりました!へろりーなさんの言うとおり被っている処理は関数化してデバッガの使い方も覚えたいと思います。ミクプラは自由にリンクできます。