無限ループを終了する手段がない。何らかの応答をお願いします。タグと解釈するのはやめて欲しい。このせいで過去の記事を検索しても、ダメになっているものがたくさんあり、残念です。タグと解釈するのはやめて欲しい。このせいで過去の記事を検索しても、ダメになっているものがたくさんあり、残念です。皆様、たくさんのご返答ありがとうございました。かずま様、わざわざサンプルコードまで作成して頂きありがとうございます。お願いになりますがお手すきであればそのコードを解説をしていただけないでしょうか?私の掲載している回答が間違っているとの事ですが、私自身、IT企業へ営業職として転職し自身のスキルアップの為、エンジニアの皆さんが受ける研修を少しだけ受けており、掲載した模範解答は先輩エンジニアから頂いた回答になり多分先輩が作成されたもので、何かの問題集に掲載されていたとかではないと思います。私のレベルですと何が間違いで、何が正解かわかっていませんので、今後ともそういった指摘を頂けるとありがたいです。私の掲載している回答が間違っているとの事ですが、その「模範解答」のプログラムは、警告が出るかもしれませんが、とりあえずコンパイルはできるはずです。0;}実行を開始して、このプログラムのファイル名を入力すると次のように表示されます。コード:ステップ数をカウントします。ソースファイル名:test.c実行行:6行コメント行:1行ステップ数をカウントします。1行あるので、この結果は正しいことが分かりませす。*/」に変えるとコード:実行行:7行コメント行:0行と表示されます。次のように変えても、全部実行行にカウントされます。*/とにかくたくさんのテストデータで動作を確認するべきです。するところがありません。複数のファイルを扱うためではなくファイルがオープンできない時にやり直すためのものだということが分かったので、コードを書き直してみました。{printf("ステップ数をカウントします。・「/*」で始まれば、コメントに入るがその後出るかもしれない・上記以外で空白でないなら、実行行確定ただし、直前までの行で「/*」によりコメントに入っていれば「*/」を探すことに専念しないといけません。1ということで、コメント行であることをチェックしています。どこが分からないのかを具体的に質問してください。ご質問にお答え頂き、また新しいコードまで頂きありがとうございます。break;で//で始まればコメント行確定となるのでしょうか?大前提の考え方から教えて頂けるとありがたいです。頂いているコードですとコード:/*456*/のようにコメントの間に改行を入れるとそれもコメントとして判断されてしまうのですが、コメントとしてではなく、空白としてカウントすることはできませんか?またご質問のあった2点ですが、1つWindows7でサクラエディタを使用しC言語の勉強を行っております。2つ模範解答でのサンプルテストですが、私自身がソースコードをまったく理解できていなかったので、理解してから実行したく、そういった確認作業は本当に動くか動かないか程度の簡単なものしか行っておりません。break;で//で始まればコメント行確定となるのでしょうか?大前提の考え方から教えて頂けるとありがたいです。「//」から行末までの全部がコメントです。「//」で始まって、コメントでない行の例がありますか?「//」で始まったら、行の残りは見る必要がありません。「//」で始まらないのに、このコードでコメント行確定となることがあります。なり、コメント行確定です。↑1年前コード:/*456*/のようにコメントの間に改行を入れるとそれもコメントとして判断されてしまうのですが、コメントとしてではなく、空白としてカウントすることはできませんか?できますよ。1個追加してみました。1個追加してみました。利用することができますね。1年前かずま様ご丁寧な回答の上、たくさんのサンプルコード真にありがとうございます。break;これは'\0まで一文字ずつ読み込んでいき、もし"/"がきてかつその次の文字が"/"なら1つカウントしてその処理を抜け出すということでいいんでしょうか?また、かずま様のコードで言いますとどの行で実行行に書かれているコメントをコメントではなく実行行として判断しているのでしょうか?なにぶん素人なもんですから本当に1から教えて頂けるとありがたいです。これは、「ひとつカウントして」ではありません。OFF(FALSE)にしました。1文字ずつ調べようとします。forループを抜け、フラグを見て、そこでコメント行の行数をカウントアップします。カウントして抜け出すのではありません。フラグをセットして、ループを抜け出してから、行数をカウントアップするのです。↑1年前どの行で実行行に書かれているコメントをコメントではなく実行行として判断しているのでしょうか?具体的な例で考えてみましょう。して、ループを抜け、フラグを見て、そこで実行行の行数をカウントアップします。次の文字を見に行きます。次の文字を見に行きます。して、ループを抜け、フラグを見て、そこで実行行の行数をカウントアップします。最初のプログラムをそれなりに動くようにしてみました。{printf("ステップ数をカウントします。1年前かずま様、毎回わかりやすい解説とソースコードをありがとうございます。上記のように説明していただけると自分の知っている知識でも理解可能だなと思えます。for,break,if-else文については理解していますが、どうもフラグの使い方が曖昧のようでそこをもう一度勉強しなおしたいと思います。↑1年前また新しく頂いたコードですが、i++;が追加されカウントするようになったって事でいいんでしょうか?ファイルのオープン部分も少し変えましたが、これはこの問題の本質とは関係ないのでどうでもいいです。1行ずつ比較すれば、何が変わったかわかりますよね。