【发布时间】:2011-09-22 10:37:11
【问题描述】:
我在工作中遇到了一个 c API 中的 is_equals() 函数,它为不相等的 sql 表返回 1 (false),为相等的表返回 0 (true)。我只是在对我的代码运行测试用例后才意识到这一点,一个用于正面示例,一个用于负面示例,它们都失败了,这起初毫无意义。 API 中的代码没有错误,因为输出已正确记录在其文档中。
我的问题 - 是否存在颠倒的世界/平行宇宙/编码语言,这种逻辑注释是正常的? 1 通常不是真的吗? API的编码器是否出错?
【问题讨论】:
-
我不太明白你的问题..
-
有时 0 表示成功,其他数字指定错误代码。但我理解为什么这会令人困惑,因为函数返回 true/false。
-
0=false, 1=true, and all other = true(适用于希望快速回答title中问题的任何人)。来源:§ 4.12
-
仅在 C 标准库中查看类似 strcmp(字符串比较)的内容,以查看一般“1 = true”断言没有意义的示例。
-
> API 的编码器是否出错?没有。