如何编码:"If (A is True) and (B is True when C is True)"



如何编写if语句(比如在c++中(:

if (condition1 == true and condition2 == true (when condition3 == true))
{
// condition2 need to be true only when condition3 is true
}

当弄清楚如何表达任何布尔谓词时,构建一个真值表有助于在单独的列中列出每个布尔值的可能值,并在其自己的列中显示预期输出。每列中的值递增+1,就好像每列都是以2为基数的二进制数字一样。

像这样:

A    B    C    Output
---------------------
0    0    0    ?
0    0    1    ?
0    1    0    ?
0    1    1    ?
1    0    0    ?
1    0    1    ?
1    1    0    ?
1    1    1    ?

根据你的问题标题(而不是你发布的示例伪代码(,我假设你想要这个输出:

A    B    C    Output
---------------------
0    0    0    0
0    0    1    0
0    1    0    0
0    1    1    0
1    0    0    0
1    0    1    0
1    1    0    0
1    1    1    1

这只是所有3个值之间的微不足道的CCD_ 2:

bool a = ...
bool b = ...
bool c = ...
if( a && b && c )
{
do_the_thing();
}

最新更新