返回用C编写的嵌入式系统中的代码值

Ren*_*h G 5 c coding-style

我看到返回代码值的大多数地方都是这样完成的,

对于成功状态返回,#define SUCCESS 0和其他所有其他错误情况都没有零数字.

我的问题是,为什么我们为SUCCESS案件选择零?对此有任何具体的编程最佳实践问题吗?

/ R

Fre*_*Foo 4

返回 0 表示成功,返回一些其他代码表示错误,这是一个古老的 C 习惯,因此您可以说:

int error = do_stuff();
if (error) {
    handle_error(error);
}
Run Code Online (Sandbox Code Playgroud)

然而,谓词通常以相反的方式工作,返回 1 表示“成功”(或true来自<stdbool.h>)。