我知道 EXIT_SUCCESS
/EXIT_FAILURE
通常用于 main() 退出以指示程序成功。
但是它是否也用于(通常或建议)正常的函数返回?我正在尝试编写一些“标准”代码,所以想知道我是否应该使用它们而不是 0 或 -1..
最佳答案
不要将 EXIT_SUCCESS
或 EXIT_FAILURE
用于函数,或除 exit
之外的任何其他调用。
但是,您可以随意为要返回的函数定义您自己的类型,但这取决于具体情况和您编写的确切代码。
一些常见的方法是:
- 返回指针的函数几乎总是返回 NULL(根据 ANSI C 为 0,但 NULL 是一个更具描述性的名称)以防出现错误
- 返回索引或位置的函数通常在错误时返回 -1(因为它不能是真正的索引,而 0 可以,所以 0 不是一个好的错误返回值)
- 在更复杂的情况下,您可能会发现使用
enum
定义新的返回类型很有用,其中之一是您的错误,并检查它。
只要您保持一致,不要太偏离约定,并记录所有内容,您应该没问题。
关于c - 有意义的函数返回值的常用方法是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1843805/