c语言中 getchar 或者 getc 最好不要用char 或者unsigned char 来接受返回值。虽然平时不会出错,但是真的出错就很难找,unsigned char 接受的话则则永远不会结束,因为EOF是-1。如果用char的话,字符类型的或者文本文件也许不会有问题,如果是二进制文件,刚好读到的下一个字节是255的时候,通过判断是否等于EOF就提前退出了(亲测,有这个问题)。