我知道这是一个简单的数学问题,但由于某种原因,我画了一个空白。
如果我有两个整数是范围的边界:
int q = 100;
int w = 230;
然后另一个是我希望看到的数字,如果它在范围内:
int e = ?;
如何找到e
和q
的范围内是否w
?
答案 0 :(得分:6)
(e >= q) && (e <= w)
答案 1 :(得分:3)
首先,您需要找到q
和w
中的哪一个是您的下限,哪个是您的上限。
int upper, lower;
if (q <= w) {
lower = q;
upper = w;
} else {
lower = w;
upper = q;
}
然后你只需执行一个简单的测试
if (lower <= e) && (e <= upper) {
// e is within the range
} else {
// e is outside the range
}
这假设您希望范围包含q
和w
。否则,请将<=
替换为<
。
答案 2 :(得分:0)
对于某些混淆:
#define IN_RANGE(q,w,e) (((q > w ? q : w) > e) && ((q < w ? q : w) < e)) ? 1 : 0
在你开始谈论可怕的定义之前,这只是一个“简单”的例子。