假设我们有一个整数“x”和“n”个可能的值,“x”可以映射/合并到。什么是 C 中的一种优雅方式,可以让函数返回最接近 x 的“第 n 个”值?
伪代码示例;
int x = 40;
int res;
int bins[] = { 0, 20, 80, 200 }; /* Sorting is guaranteed */
res = int_bin(x, bins);
assert(res == 20); /* 40 is closer to 20 than 80 */
x = 150;
res = int_bin(x, bins);
assert(res == 200); /* 150 is closer to 200 than 80 */
优雅我的意思不仅仅是一堆 if/else if/else 语句。