c - Windows 控制台中奇怪的显示 EOF 字符

标签 c console putchar

最近遇到了对 EOF 字符控制台窗口的有趣解释。在某些运行 Windows 7 的计算机上,代码 putchar (255) && putchar (-1) 显示为空格字符,有些显示为 'a' 性格。第二个让我困惑。请告诉我,为什么会发生这种情况?

最佳答案

EOF 不是一个字符,它更像是一个指示文件结束的信号(不是 Unix 信号)。值取决于实现,但保证不等于任何有效字符,通常是 -1

当您使用 putchar(EOF)putchar(-1) 时,它会转换为 unsigned char255。但 ASCII 值 255 不是可打印字符,不同机器上的结果有所不同。

关于c - Windows 控制台中奇怪的显示 EOF 字符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19195621/

相关文章:

rust 打印!问题 - println 宏中的奇怪行为

c - 从 c 中的键盘获取字符时出现多字符警告

c - 管道无法通过 pthread_t 工作

c - 文件内的值不会被替换

c++ - 在 C 中的硬盘驱动器上不存在文件的情况下写入文件流

c - 将指针参数传递给其他文件中的函数

console - OrientDB GraphED - 可以自定义记录标识符吗? 150万条记录搜索速度很慢

printing - Swift 无法使用终止符参数打印到控制台

c - getch 和 putchar 无法正常工作且无返回

谁能解释一下代码 putchar ('/'//*/1) 的含义