【发布时间】:2017-11-14 17:57:34
【问题描述】:
bool A=false;
bool B=true;
if(!A || !B)
{
.....
}
在这种情况下,当 A 为真时,它没有检查 B 但我想检查 B 而不是 A 。
在这种情况下,如果任何一个为真(A 或 B),我想执行,但如果 A 为真,我也想检查 B。除了使用不同的 if 条件之外,还有其他逻辑可以解决这个问题吗?
【问题讨论】:
-
if(A || B)?? -
But If A is true I want to check B你的意思是if ( A && B )或if ( A && !B )。但是,我不确定,不清楚您要达到的目标。 -
不确定您所说的“但如果 A 为真,我也想检查 B”是什么意思,您能否制作所有结果的真值表?
-
你知道
OR是什么吗?每当达到TRUE时,检查就会停止... -
B 的值是短路的当且仅当它对条件没有影响。因此,评估是没有意义的,除非 B 本身有任何副作用(也就是说,如果 B 不是布尔值,而是可以对程序状态产生影响的表达式)。
标签: c++ logic conditional-statements