【发布时间】:2014-03-02 00:59:40
【问题描述】:
在用 C 语言编写代码时,交替使用 -1 和 EOF 是不是很好?标准是否保证EOF 是-1?还是定义了价值实现?
例如,如果一个函数在某些情况下返回EOF,那么测试该函数是否返回-1是一种好方法吗?
如果某个函数在某些情况下返回-1,那么测试该函数是否返回EOF是一种好方法吗?
【问题讨论】:
-
你检查......无论该方法的文档告诉你它返回什么。
-
幻数从来都不是好风格。如果有可用的命名常量,请使用它。
-
@Andres 正确,你错了;)没有EOF“字符”;它是从函数返回的特定值,指示已到达输入的末尾。
-
@David:如果文档没有提到
EOF,请不要使用EOF。 -
无论该代码的作者是谁,它都违反了抽象的基本原则。功能是什么?返回值是否表示输入流的结束?毕竟,这就是 EOF 的意思。充其量这只是作者的一个大脑放屁。 不要效仿它!
标签: c standards standards-compliance language-implementation