我无法理解以下代码在做什么s
:
if(!s--)
s
是一个int
实际上,这是误导。
您正在测试s
与 0 不同(带有if (!s)
)。然后,之后,无论结果如何,你都在减少它。
所以,这是两种不同的操作。可以这样写:
if (!s)
{
s--;
//...
}
else
{
s--;
}
!
称为negation
运算符。它是一个逻辑运算符。
请参阅此处的维基百科条目。
if(!s--)
它执行的顺序
s
is0
或 not 的值,如果s
是0
,则if
条件为成功 [感谢!
操作员],否则,失败。 s
一个单位。if
条件的评估,继续执行[if
条件下的代码,或下一个代码块]。