c - 有意义的函数返回值的常用方法是什么?

标签 c return-value

我知道 EXIT_SUCCESS/EXIT_FAILURE 通常用于 main() 退出以指示程序成功。

但是它是否也用于(通常或建议)正常的函数返回?我正在尝试编写一些“标准”代码,所以想知道我是否应该使用它们而不是 0 或 -1..

最佳答案

不要将 EXIT_SUCCESSEXIT_FAILURE 用于函数,或除 exit 之外的任何其他调用。

但是,您可以随意为要返回的函数定义您自己的类型,但这取决于具体情况和您编写的确切代码。

一些常见的方法是:

  • 返回指针的函数几乎总是返回 NULL(根据 ANSI C 为 0,但 NULL 是一个更具描述性的名称)以防出现错误
  • 返回索引或位置的函数通常在错误时返回 -1(因为它不能是真正的索引,而 0 可以,所以 0 不是一个好的错误返回值)
  • 在更复杂的情况下,您可能会发现使用 enum 定义新的返回类型很有用,其中之一是您的错误,并检查它。

只要您保持一致,不要太偏离约定,并记录所有内容,您应该没问题。

关于c - 有意义的函数返回值的常用方法是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1843805/

相关文章:

c++ - 给定 N 个输入和 p,q 的算法 : find max Xor in array for various interval limis,,其中 0<=p<=i<=q<=N

c - C中的函数顺序

java - 为什么我的 Java for 循环不会在循环外设置变量?

C++帮助编写一个带有头文件声明的类

java - 为什么此代码会导致 "illegal start of expression"异常?

java - 如何在另一种方法中使用一种方法的 "return"值

c - SDCC 和 malloc() - 分配比可用内存少得多的内存

c - 为什么可以在 C 中使用未定义的结构

c - 为什么sys/queue.h中的双向链表会维护previous next元素的地址?

c++ - 当它被忽略时,返回值(返回一个对象)会发生什么?