どうもです。いろいろご指摘ありがとうございます。
>【1】第1章の本文に「BMI指数」という表現がありますが、
>body mass indexの「index」は「指数」なので、
>単に「BMI」でいいのではないでしょうか?
そうですね。「IT技術」的なことをやってしまっています。
>【2】p105・List2-8(my_sort5.c)・4行目および
>p180・List4-2(my_sort6.c)・4行目が
>
>#define SCORE_ARRAY_SIZE (100)
>
>となっていますが、この「100」を囲む括弧は意図されたものでしょうか?
私は、習慣的にマクロで値を定義するときは括弧で囲んでいます。
演算子等を含むと括弧が必要だったりしますから常に入れているというだけで、
この場合は実用的な意味はあまりないですが。
>【3】正誤表
>
http://kmaebashi.com/taiatari/seigo.html
>のp102およびp103に言及している箇所で、ともに
>「1手順ごとに『ソートずみの範囲』はひとつづつ増えていきます。」
>という、全く同じ注釈が付いています。
>これは本来p102のほうだけに付けることを意図していた、 という可能性はないでしょうか?
これはp102の方のHTMLを書いてから、それをコピペしてp103の方を作って、
消し忘れたようです。
>| 最後に開いた出力ファイルを閉じる。
>| ただし入力ファイルが空で、いきなりEOFに出くわして
>| whileループを一度も回さずに脱出したときだけは、閉じるべき出力ファイルがない。
>| このときはout_fpが(10行目の定義によって)NULLに初期化されたままのはず。
>| よって、out_fp != NULL のときのみ、クローズ処理を行う。
>
>という解釈でよいのでしょうか?
>コメントがないと対象読者には分かりにくいような気もしますが……。
37行の「さっきまでオープンしていたファイルを閉じる」というコメントから、
while () {
さっきまでオープンしていたファイルを閉じて、
次のファイルを開く
}
最後に開いたファイルを閉じる
という構造になっているのはわかってほしいと…あとは、どういう場合に
out_fpがNULLでループを抜けるかですが、ループの中(しかもif文の中)で
閉じて開いている以上、NULLでここに落ちてくる可能性には直感で気づいてほしい…
という気はしますが、たしかに対象読者を考えると厳しい気がします。
>【5】p148の本文で、「使い終わったファイルはクローズしておいたほうがよい」とあります。
>p158~p159・List3-7(my_split.c)やp168・List3-10(textdump.c)などでは
>読み込み用に開いたファイルのクローズ処理が書かれていませんが、別に構わないでしょうか?
動くか動かないかという点では動きますし、出力用のファイルポインタと
読み込み用のファイルポインタを比べると、読み込み用の方がfclose()しなくても
害が少ないわけですが(書きかけで異常終了すると変なファイルができる可能性が
高いですが、読み込みならまず大丈夫)行儀としては閉じた方がよいかと思います。
# ただ、このレベルなら、やっぱり実用上「どっちでもいい」と言ってしまいそうです。
# 私の場合。
今日は遅いですし私は現在風邪ひきですのでアレですが、後日何らかの形で
Web上で対応させていただきます。
いろいろご指摘ありがとうございました。