最好将整数函数结果视为布尔值

时间:2016-04-18 14:59:05

标签: c

想象我们有一个功能:

static int do_job(int v)
{
    return (v > 10);
}

然后在代码的其他位置,我们做到了:

int job = /* some value */;

if (do_job(job)) {
   /* do something */
}

if (!do_job(job)) {
   /* do something */
}

我知道我们可以做到,但这样做是不错的做法?

1 个答案:

答案 0 :(得分:1)

这可能不是一个好习惯,因为

(v > 10)

实际上只有两个值:truefalse

小于int的类型可用作do_job的类型,例如

static bool do_job(int v)

将bool类型定义为stdbool.h

这会产生更小的功能。