的& &(逻辑与)运算符表示两个操作数是否真实。 || (逻辑OR)运算符指示至少一个操作数为真。而且......操作数是多少?
当你使用一个简单的表达式,如x == 1,这被认为是一个操作数。
如果使用括号,则括号内的所有内容都将被视为一个操作数,无论其内部有多复杂。所以你可以组条件。
因此x == 1 && (y == 1 || y == 2)
将评估第一个操作数x == 1
是否为真,第二个操作数是整个(y == 1 || y == 2)
为真。
要知道括号内的内容是真是假,无论它里面有什么都被评估为独立表达式。
所以,我们必须要操作数。首先,它会检查x == 1是否为真。如果它是假的,它不会检查括号内是什么,它不重要,因为无论如何第一个条件不满足。如果x == 1,我们可以检查第二个操作数: ,以便检查括号内的表达式,即y == 1 || y == 2,如果有一些是真的,那么(y == 1 || y == 2)
是真操作数,整个表达式将是x == 1 && true
,所以基本上它取决于x,如果括号内没有为真,那么(y == 1 || y == 2)
是一个假操作数,并且整个操作会x == 1 && false
所以一切都是假的
如果你不使用支架,就可以达到同样的效果,但你必须检查precedence rules,那将是很难记住,在开始时
我建议您在学习编程语言之前,阅读一些关于布尔型algebra和logic的教程。此后一切都会变得更加轻松。
就像在算术中一样,'AND'就像'*','OR'就像'+'一样。 – moonwave99
总是把你的条件放在使用括号的“块”中是个好习惯,所以不用'if(x == 1 &&(y == 1 || y == 2))'if((x == 1)&&((y == 1)||(y == 2)))'。当您开始使用支持宏的语言或使用预处理器 –