从功能中的1点返回

ant*_*009 3 c

可能重复:
函数是否只有一个return语句?

你好,

gcc 4.4.4 c89

从函数中的1点返回是一种很好的编程习惯吗?

我在下面写了一个函数.但是,我从2个可能的点返回.

这是好风格吗?

static int init_data(struct timeout_data_t *timeout_data)
{
    if(timeout_data == NULL) {
        fprintf(stderr, " [ %s ] [ %d ]\n",
            __func__, __LINE__);
        return FALSE;
    }

    /* Assign data */
    timeout_data->seconds = 3;
    timeout_data->func_ptr = timeout_cb;

    return TRUE;
}
Run Code Online (Sandbox Code Playgroud)

Ode*_*ded 11

如果它有助于可读性,那么它没有任何问题.

就个人而言,我一直在写这种代码.


And*_*yle 7

这是一场持续的宗教式辩论,没有得到公认的答案.争论的双方都有很多人,他们对此有强烈的感受.

我个人并不认为它有任何问题,但最好的方法是遵循你团队的风格指导方针,如果他们有一些(如果不是,只是问一下.如果有人反感恐怖,那就是更好地坚持单回归).