【发布时间】:2011-12-21 11:13:34
【问题描述】:
函数在失败时返回 TRUE,在成功时返回 FALSE。
我看到一些这样的函数自己做这个:
return return_code != 0;
或
return (return_code != 0);
在这个函数中,在每个错误情况下,它都会返回 TRUE - 这很好,并且在出现错误时应该做什么。
但是上面的代码意味着什么?它是否试图确保 return_code 是 FALSE - 明确的?
【问题讨论】:
-
它通过返回0或1来表示成功或失败。从这段代码中并不清楚这意味着什么,但这可能是因为return_code可能包含更多信息,而不仅仅是成功/失败。做 !!return_code 会做同样的事情,我认为这看起来更好。这同样适用于指针,如果指针不是或为 NULL,则 !!pointer 分别返回 1 或 0。
标签: c error-handling return-value