面试题:[1 < 2 < 3, 3 < 2 < 1]

254 阅读1分钟
  • <和>的优先级都是从左到右,所以 1 < 2 < 3 会先比较 1 < 2,这会得到 true,但是 < 要求比较的两边都是数字,所以会发生隐式强制转换,将 true 转换成 1,所以最后就变成了比较 1 < 3,结果显然为 true。 同理可以分析后者。
  • 3 < 2 < 1 会先比较 3 < 2,这会得到 false,然后 false 被隐式强制转换为0,所以比较 0 < 1 时结果就是 true