[1804] Re:char hoge = 'A';
投稿者:kit
2012/03/12 16:43:58
>>EOFは-1とは限らない(負でさえあればよい)ので回避のしようはありますね。
>
>そうですね。
>
>手元のVCだと無印charはデフォルトでsigned、EOFの値は-1になっていて、
>回避できるにも関わらず回避していない。
多くのUNIX系プラットフォームでもそうです。
(powerpc なんかは char のデフォルトが unsigned だったような気もしますが)
>getchar()などの戻り値をintで受ける理由は言わずと知れたFAQですが、
>上記のような処理系では、せっかくの「文字コードの空間の外でEOFを扱えるように」という恩恵に与れないことになりますよね。
>(というか、そういう処理系がほとんどのような気がします。)
いや、それは勘違いです。与れますよ。
ファイルからコード 255 のバイトを getchar() で読むと、-1 ではなく 255 を返しますから。