是否在标准中写明EOF必须为负数?
相反,WEOF不必为负。为什么?
wchar_t的情况不得与普通char有任何不同(除非自动将char升级为int起作用),因为使用wchar_tchar定义为wchar_t是完美的标准。因此,必须适用类似的规则。

来自glibc参考的一些引用:


  如果将char定义为wint_t,则由于参数升级,必须将类型int定义为wchar_t





  将char定义为是合法的

最佳答案

是的,它肯定是负面的。见C11


  7.21输入/输出
  
  7.21.1简介
  
  1标头定义了几个宏,并声明了三种类型和许多种
  用于执行输入和输出的功能。
  
  3 ...
  
  紧急行动
  
  扩展为整数常量表达式,类型为int,且值为负

关于c - 标准是否要求EOF为负?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/40754924/

10-15 05:19