该标准是否要求EOF为负数?
是否在标准中写明EOF
必须是否定的? 相反, WEOF
不需要是否定的。 为什么? wchar_t
的情况不能与普通的char
任何不同(除了从char
到int
自动升级扮演角色的情况),因为将wchar_t
定义为char
对于标准是完全正常的。 因此,必须适用类似的规则。
来自glibc引用的一些引用:
如果将
wchar_t
定义为char
则由于参数提升,必须将类型wint_t
定义为int
。
将
wchar_t
定义为char
是合理的
是的,保证是负面的。 见C11
7.21输入/输出
7.21.1简介
1标题定义了几个宏,并声明了三种类型和许多用于执行输入和输出的函数。
3 ……
EOF
它扩展为整数常量表达式,类型为
int
,负值