这可能是一个非常简单的问题,或者之前可能已经被问过,但是我在这里通过谷歌进行了简短的搜索之后无法找到答案。
所以冒着错过与此类似的东西的风险,这就是我的问题。为什么检查区间的条件语句通常不受支持,而是实现为块if
或使用&&
运算符将两个独立的条件绑定在一起?
承认,如果我必须编写两行更多的代码,并不是整个世界,但是从数学背景来看,我发现现代编译器无法在这个相对简单的语句中执行他们的巫术是非常奇怪的。
从技术或理论角度来看,它有特殊原因吗?
答案 0 :(得分:1)
我的两分钱:如果你用多种语言写a < b < c
就意味着(考虑到比较运算符通常是左关联的)((a < b) < c)
。但是a < b
返回一个布尔值,所以(例如,如果a < b
返回true
),连续的减少是(true < c)
,除了极端罕见的情况之外,它不是你想要的要做。
答案 1 :(得分:1)