• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:C言語 )

C言語のコード内での行数カウントの仕組みについて

このQ&Aのポイント
  • C言語のコード内で行数をカウントする方法を知りたいです。
  • コード内の(ch == '\n')の部分が行数をカウントするための条件文です。
  • コードを実行すると、改行文字が入力された場合に行数がカウントされます。

質問者が選んだベストアンサー

  • ベストアンサー
回答No.4

「a」を入力したと言っても、それがキーボードから入力したということだったら「a」に続けてEnterキーを押してませんか? もしそうならば、whileの1度目のループ処理で ch = getchar() このchには'a'(つまり 0x61)が入り、2度目のループ処理で ch = getchar() このchに'\n'が入り、countは1増えますよね。 入力が本当に「a」のみだったら「行数は1です。」 入力が「a」とEnterで終わっていたら「行数は2です。」 > (ch=='\n')というのはchと改行が同じなら行数を1増やすと言う事になると思う その通りで間違ってませんよ。

CooLNight
質問者

お礼

わかりました。ありがとうございますm(_ _ )m

その他の回答 (3)

  • nda23
  • ベストアンサー率54% (777/1415)
回答No.3

\n はエスケープ文字で、改行を表わします。 復帰や改行、タブ等の制御コードは文字の 本体(ボディ)が無いので、'A'のように表記 できません。そこで、このような表現方法を 使って表わすことになっています。 ch = getchar() でキーボードからの1文字を 受け取ります。 if ( ch == '\n' ) count++; これは「cnが改行 ならば count++ する」という文ですね。 因みに改行のコードは0x0Aなので、'\n'は '\x0A'と書いても同じ結果になります。

CooLNight
質問者

お礼

わかりました。ありがとうございますm(_ _ )m

  • OKWavex
  • ベストアンサー率22% (1222/5383)
回答No.2

>chと改行が同じなら行数を1増やすと言う事になると思うのですが 改行をカウントすれば行数のカウントになることがわかりませんか?

CooLNight
質問者

お礼

わかりました。ありがとうございますm(_ _ )m

  • notnot
  • ベストアンサー率47% (4900/10358)
回答No.1

>aを入力したとしてchにaが入っても、a=='\n'にはならないと思うのですが、 はい。ならないです。 >実行して見ると行数がカウントされます。 "a" は行数と関係ないです。 >chと改行が同じなら行数を1増やすと言う事になると思うのですがよくわかりません。 行数を求めるためには、改行の数を数えます。 それがわからないと言われると、困ってしまいます。

CooLNight
質問者

お礼

わかりました。ありがとうございますm(_ _ )m

関連するQ&A