此特定代码
if (!x--)
其中x
是int
而!
是NOT运算符。
这段代码的作用是什么?为什么?
答案 0 :(得分:5)
这里有两个运算符,第一个是后递减运算符--
,这意味着将x
减少1并返回原始值。
第二个是!
运算符,它是逻辑NOT运算符,如果操作数为零则返回true
,如果不是零,则返回false
。
--
具有更高的优先级,因此将首先评估它。
因此,代码将x
减少1,然后在到达行之前x
为0时执行条件的主体。
答案 1 :(得分:1)
由于“ - ”用作后缀运算符,因此只有在计算“x”后才会递减变量“x”。
如果x
之前为零,那么将执行if语句的真实部分。
x
都会递减。