デバッグモードで無事に動作しているし、そのまま放置することにしました。
意図しない文字コードが表示されることが考えられますし、制御コードに相当する値があった場合には表示が崩れることが考えられます。
終端を設定していないとどんなデータが読みだされるかわかったもんじゃないですよね。
のように、aの長さ(文字数)を指定して処理すれば良いという事です。ただし、aの長さを指定する方法が別途必要ですね。(別の変数を用意する、決め打ちにするなど)
については、明示的に初期値を指定していない場合でも、特定の値に初期化されている可能性があります。特に
bの次の変数を、プログラムの実行を通じて変更しないか?する可能性は無いか?
このプログラムを他のOSで動作させる可能性がある場合、他のOSで動作させてみる
場合によっては動作しないケースが実際にあるかもしれないという事です。
できるだけ多くの環境で動作できるよう問題のコードを修正いたします。