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

Fig*_*igo 6 c return-value

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

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

Eli*_*sky 13

不要使用EXIT_SUCCESSEXIT_FAILURE用于功能,或用于除此之外的任何其他exit内容.

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

一些常见的方法是:

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

只要你保持一致,不要过分偏离惯例,记录一切,你应该没问题.


MRF*_*ius 0

EXIT_SUCCESS 是一个符号常数。-

您可以使用EXIT_SUCCESSandEXIT_FAILURE以及 0 表示正常,使用非 0 表示失败。

看个人口味,也可以做这个

#define WRONG 1
#define COOL  0
Run Code Online (Sandbox Code Playgroud)

并归还那些-

使用您觉得更舒服的任何方式,但始终保留您的选择。

希望这可以帮助!