【发布时间】:2017-02-14 08:58:35
【问题描述】:
我正在尝试查找以下结果(真或假):
x = 7, y = 10, z = 12
((!(x < z) || (y > z)) && (z==12) && (y==10))
但我无法阅读它。例如,它会是 or 语句 AND 两个 and 语句的结果吗?
【问题讨论】:
-
查看operator precedence 规则。
-
运算符优先级规则在这种情况下甚至没有用,因为每个表达式都由括号分隔。
-
在这种情况下,OR 表达式周围显然有括号,对吗?不清楚这是否意味着它首先被评估,结果是用括号外的运算符评估的?我不知道您对这个特定示例的问题是什么。
-
"例如,它会是 or 语句 AND 两个 and 语句的结果吗?" -- 如果你问
(a || b) && c && d是指((a || b) && c) && d还是(a || b) && (c && d):那没有任何区别。如果这不是您要问的,请通过更详细地解释哪个方面让您感到困惑来帮助我们理解。 -
如果您删除多余的括号,您会留下:
(!(x < z) || y > z) && z == 12 && y == 10