示例函数和运算符> =

时间:2015-11-12 08:52:50

标签: c stm32

我读了这段代码:

static bool time_expired(uint16_t time, uint16_t start_time, uint16_t tmo)  {
    if (time >= start_time) {
        return (time - start_time) >= tmo;
    } else {
        return time + (0xFFFF - start_time) >= tmo; 
    }   
}

现在,我不明白它是如何运作的。我不明白            return (time - start_time) >= tmo; 因为运算符> =是“大于或等于”。

2 个答案:

答案 0 :(得分:4)

表达式

(time - start_time) >= tmo

time + (0xFFFF - start_time) >= tmo

是bool类型;在任何一种情况下,都返回一个布尔值,它匹配函数的返回类型。

但据我所知,C不提供单独的布尔类型;也许这个语言是C ++。

答案 1 :(得分:1)

(time - start_time) >= tmo在C中为1或0.它具有int类型。