如果必须返回一些东西,如何避免在错误时返回NULL?(在C中)

chu*_*tsu 0 c error-handling null

我偶然发现了这里这里的文章,这说明它的良好编程习惯永远不会返回NULL.但是对于需要返回某些东西的函数,它应该返回什么?一个值-1不会削减它,因为我们说我们有功能:

char *return_some_string(int input) {
    /* do something */

    if (error) 
        return some_thing_not_null; 
}
Run Code Online (Sandbox Code Playgroud)

你怎么解决这个问题?

小智 10

我偶然发现一些文章说它的良好编程习惯永远不会返回NULL.

无条件地说明了该文章的质量.烧掉它吧.

但是对于需要返回某些东西的函数,它应该返回什么?

NULL.从概念上讲,这就是"无效指针","指向任何东西的指针",无论如何.这是一个非常好的理由,它在语言中.