我的代码中有以下if语句:
~(( APQState == dot11->tempState[0] ) &&
( STAQState == dot11->tempState[1] ) &&
( tempk1 == dot11->tempState[2] ) &&
( tempk2 == dot11->tempState[3] ) &&
( tempk3 == dot11->tempState[4] ))
Run Code Online (Sandbox Code Playgroud)
假设布尔变量,
B = ( APQState == dot11->tempState[0] ) &&
( STAQState == dot11->tempState[1] ) &&
( tempk1 == dot11->tempState[2] ) &&
( tempk2 == dot11->tempState[3] ) &&
( tempk3 = =dot11->tempState[4] )
Run Code Online (Sandbox Code Playgroud)
即使B为真(=> ~B为假),也会评估if语句.
我在循环执行时检查了B的值.我得到B = 1;
奇怪的是,当我尝试cout(~B)的值时,它显示值2.(即当B = 1时).
为什么会这样?
c++ ×1