有没有更简洁的方法来编写以下代码?
if (myValue > 100)
myValue = 100;
if (myValue < 0)
myValue = 0;
提前感谢您的智慧!
您可以使用
MAX
和MIN
,尽管它不一定那么清楚。
myValue = MAX(MIN(myValue, 100), 0);
myValue = (myValue > 100) ? 100 : myValue;
myValue = (myValue < 0) ? 0 : myValue;
或
myValue = (myValue > 100) ? 100 : ((myValue < 0) ? 0 : myValue);
当然,即使您执行 2 行,我也会使用 MIN
/MAX
。
甚至可能
#define MINMAX(_min_,_max_,_n_) (MAX(MIN(_n_, _max_), _min_))