放置"!" 在条件声明之前

den*_*tic 0 c++ conditional-statements

例如:

while (! ( (planet == "Mercury") || (planet == "Pluto") ) )
{
     <body>;
}
Run Code Online (Sandbox Code Playgroud)

上述内容与以下内容相同:

while ( (planet != "Mercury") || (planet != "Pluto") )
{
     <body>;
}
Run Code Online (Sandbox Code Playgroud)

如果不是,那么在条件语句之前放置NOT操作是什么意思,如第一个代码块所示?

Cor*_*mer 9

相当于

while (planet != "Mercury" && planet != "Pluto")
Run Code Online (Sandbox Code Playgroud)

这是德摩根在命题逻辑中的定律之一

在此输入图像描述

使用C++语法,上面就是

!(P || Q) == (!P && !Q)
Run Code Online (Sandbox Code Playgroud)