Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/140.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ c++;_C++ - Fatal编程技术网

C++ c++;

C++ c++;,c++,C++,我的代码中有以下if语句: ~(( APQState == dot11->tempState[0] ) && ( STAQState == dot11->tempState[1] ) && ( tempk1 == dot11->tempState[2] ) && ( tempk2 == dot11->tempState[3] ) && ( tempk3 == dot11-&

我的代码中有以下if语句:

~(( APQState  == dot11->tempState[0] ) &&
  ( STAQState == dot11->tempState[1] ) &&
  ( tempk1    == dot11->tempState[2] ) &&
  ( tempk2    == dot11->tempState[3] ) &&
  ( tempk3    == dot11->tempState[4] ))
比如说布尔变量

B = ( APQState  == dot11->tempState[0] ) &&
    ( STAQState == dot11->tempState[1] ) &&
    ( tempk1    == dot11->tempState[2] ) &&
    ( tempk2    == dot11->tempState[3] ) &&
    ( tempk3    = =dot11->tempState[4] )
即使B为true(=>~B为false),if语句也会被计算。
当循环执行时,我检查了循环中B的值。 我得到B=1

奇怪的是,当我尝试计算(~B)的值时,它显示的值是2。(即B=1时)


为什么会发生这种情况?

确保你知道自己想要什么

~
是位运算符,用于翻转所有位


是“NOT”的逻辑运算符。请确保您知道您想要什么

~
是位运算符,用于翻转所有位

是“NOT”的逻辑运算符。

将~B更改为!B 希望这能奏效

把~B改成!B 希望在

C++中的TrdE(~)是A。这与逻辑NOT运算符(!)不同

~B
并不总是等于
!B</代码> 

< P> C++中的TrdE(~)是A。这与逻辑NOT运算符(!)不同


~B
并不总是等于
!B

例如APQState、dot11->tempState[2]等的单个布尔表达式中的所有变量都是整数。所有变量都已正确声明和初始化。如果语句逻辑否定为
,则可以输入代码!B
,而不是
~B
。APQState、dot11->tempState[2]等单个布尔表达式中的所有变量都是整数。所有变量都已正确声明和初始化。如果语句逻辑否定为
,则可以输入代码!B
,而不是
~B