回答編集履歴

2

考え方追加

2016/10/22 03:09

投稿

archiver
archiver

スコア1557

test CHANGED
@@ -1,6 +1,6 @@
1
1
  ざっと見で。
2
2
 
3
- ``count``が0で初期化されていますが、最初の1文字目で違っていた場合、countが加算されていないので、「0文字目」という結果になってしまうと思います。countの加算契機を見直してみてはどうでしょう。
3
+ ``count``が0で初期化されていますが、最初の1文字目で違っていた場合、countが加算されていないので、「0文字目」という結果になってしまうと思います。countの加算契機を見直してみてはどうでしょう。もしくはcountの初期値は「1」でも構わないと思います(必ず「1文字目」から見るわけですし)。
4
4
 
5
5
  ただ、このプログラムだと文字が違ったところで走査を止めているわけですから、走査時に使用しているループカウンタ変数``m``を``count``の代わりに使った方が楽な気がします(出力時に+1した値を出せばいいだけですし)
6
6
 

1

提案

2016/10/22 03:09

投稿

archiver
archiver

スコア1557

test CHANGED
@@ -3,3 +3,7 @@
3
3
  ``count``が0で初期化されていますが、最初の1文字目で違っていた場合、countが加算されていないので、「0文字目」という結果になってしまうと思います。countの加算契機を見直してみてはどうでしょう。
4
4
 
5
5
  ただ、このプログラムだと文字が違ったところで走査を止めているわけですから、走査時に使用しているループカウンタ変数``m``を``count``の代わりに使った方が楽な気がします(出力時に+1した値を出せばいいだけですし)
6
+
7
+
8
+
9
+ それと、デバッガを使いながら動かしてみると、プログラムの動きが目に見えてきますので、理解もしやすくなりますよ。