可能是重复问题:
一个函数应该只有一个返回语句吗?
你好,
gcc 4.4.4 c89
在一个函数中仅从一个点返回是否是良好的编程实践。
下面是我编写的一个函数。但是,我有两个可能的返回点。
这种风格好吗?
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;
}