表达式a = b!= c的含义是什么?

use*_*147 1 c

我有以下我不明白的代码

shiftLeft = local.tasks.first != NULL;
if(!shiftLeft) 
  local.tasks.last = NULL;
Run Code Online (Sandbox Code Playgroud)

我的意思是shiftLeft变量(布尔值)应该最后评估,所以首先要评估local.tasks.first!= NULL,但这是什么?

小智 5

这将返回true或false值(取决于是否local.task.first为真NULL值)。

如果local.task.firstNULL一个shiftLeft变量将获得false价值,

如果local.task.first不是NULL值,则shiftLeft变量将获取true值。

重要的是,我们不知道的类型shiftLeft,如果它是布尔变量,则将用truefalse值“填充” 。如果是其他类型的变量(例如一个整数),这将是“装”与0 false比0不同的东西真正的(但我们不能确定究竟是什么)。