• 締切済み

日経ソフトエア28ページ

8x8の正方形を作るため、それを8文字8行で表すとして、それら文字をユーザ入力させるとして char buf[8][8]; でだいじょうぶなんですか? もう一方のは char buf[8][9]; なのでだいじようぶそうでしたが。

みんなの回答

  • sakusaker7
  • ベストアンサー率62% (800/1280)
回答No.1

誰もが日経ソフトウエアを読んでいるわけではないので、質問としてはちょっと不親切です。 多分 cin >> buf[i] のところに関する疑問だと思いますが、確かにまずいですね。 オーバーランしたら異常終了しかねないし、8文字ジャストでも終端のナル文字が 配列外の領域を書きつぶします。 書きつぶしても運良く動いたというところでしょう。 cin.getline で一行入力しておいてそこから8文字だけコピーするなどのように すべきだと思います。

hubllk
質問者

お礼

本のソースが間違いだと分かって安心しました。 ありがとうございました。

関連するQ&A

専門家に質問してみよう