c处理文件的问题
C处理文件的方法是让getchar()函数到达文件尾时返回一个值,赋予该值的名称是EOF,EOF为-1,为什么呢?一般情况下,getchar()函数返回一个范围在0到127之间的值,因为这些值与标准字符集相对应,但如果系统识别一个扩展的字符集则可能返回0到255之间的值。在每种情况下-1都不对应任何字符,所以用它表示文件结尾。。。
。。。。这段话是我在书上看到的。。不理解。。。
我是这样想的系统识别0到255.。。。。那我为甚么不可以返回256.。。257.。。这也不对应请他字符啊。。。
为什么偏偏是-1呢。。。。。
求高手。。。。。
[解决办法]
一个字节有8 bit,最大能存255
[解决办法]
因为-1不代表任何ASCII码!!!
[解决办法]
这就是为什么 getchar 的签名是:
int getchar();
[解决办法]