最近面临着对EOF角色控制台窗口的有趣解释。在某些运行Windows 7代码putchar (255)
&& putchar (-1)
显示为空格字符,有些显示为'a'
字符。第二个让我感到困惑。请告诉我,为什么会这样?
答案 0 :(得分:2)
EOF
的实际值取决于系统(但通常为-1,例如在glibc中),并且不等于任何有效的字符代码。
答案 1 :(得分:2)
EOF
不是一个字符,它更像是一个信号(不是Unix信号),表示文件结束。值是否依赖于实现,但保证不等于任何有效字符,通常为-1
。
当您使用putchar(EOF)
或putchar(-1)
时,它会转换为unsigned char
,255
。但ASCII值255
不是可打印字符,结果因机器而异。