c++ - c.中EOF的ascii值是多少?

任何人都知道 i 的 ASCII 值是什么。

我试试 printf("%d",EOF);

但它的打印 -1

也可以试试 printf("%c",EOF);

但它的打印空白屏幕。

所以任何人都知道 EOF 的哪个键。

最佳答案

EOF(在 C 语言中定义)不是字符/不是 ASCII 值。这就是为什么 getc 返回一个 int 而不是一个 unsigned char - 因为读取的字符可以具有 unsigned char 范围内的任何值,而getc的返回值也需要能够表示非字符值 EOF(必然为负)。

https://stackoverflow.com/questions/7622699/

相关文章:

c++ - range-for循环中的访问索引

c++ - C++ 类接口(interface)类的析构函数

c++ - 在创建派生类对象时将参数传递给基类构造函数

c++ - 我可以使用基于范围的 for 循环轻松迭代 map 的值吗?

c++ - 如何将 long 移位超过 32 位?

c++ - 为什么在传递给另一个对象时调用 const 对象上的 std::move 会调用复制构造

c++ - `typedef typename Foo::Bar Bar'的模板声明

c++ - 动态数组上基于范围的for循环?

c++ - .o、.a 和 .so 文件有什么区别?

c++ - openMP 嵌套并行 for 循环与内部并行 for