我有下面的代码,我不明白

shiftLeft = local.tasks.first != NULL;
if(!shiftLeft)
  local.tasks.last = NULL;

我的意思是shiftLeft变量(布尔值)应该最后计算,所以首先计算local.tasks.first!=空,那是什么?

最佳答案

这将返回true或false值(取决于local.task.first是否为NULL值的事实)。
如果local.task.firstNULLashiftLeft变量将得到false值,
如果local.task.first不是NULL值,则ashiftLeft变量将得到true值。
重要的是,我们不知道shiftLeft的类型,如果它是bool变量,它将被truefalse值“填充”。如果它是其他类型的变量(例如一个整数),那么它将被“填充”为0表示false,而不是0表示true(但我们不能确定具体是什么)。

10-08 03:48