示例函数和运算符 >=
example function and operator >=
我读了这段代码:
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;
因为运算符 >= 用于 "Greater than or equal to".
表达式
(time - start_time) >= tmo
和
time + (0xFFFF - start_time) >= tmo
是布尔类型;在任何一种情况下,布尔值都是 returned,它匹配函数的 return 类型。
不过,据我所知,C并没有提供单独的boolean类型;也许语言是 C++。
(time - start_time) >= tmo
在 C 中是 1 或 0。它有一个 int
类型。
我读了这段代码:
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;
因为运算符 >= 用于 "Greater than or equal to".
表达式
(time - start_time) >= tmo
和
time + (0xFFFF - start_time) >= tmo
是布尔类型;在任何一种情况下,布尔值都是 returned,它匹配函数的 return 类型。
不过,据我所知,C并没有提供单独的boolean类型;也许语言是 C++。
(time - start_time) >= tmo
在 C 中是 1 或 0。它有一个 int
类型。