The ! (logical negation) operator determines whether the operand evaluates to 0 (false) or nonzero (true).
The
expression yields the value 1 (true) if the operand evaluates to 0, and yields
the value 0 (false) if the operand evaluates to a nonzero value.
The expression yields the value true if the operand evaluates
to false (0), and yields the value false if the operand evaluates to true
(nonzero). The operand is implicitly converted to bool, and the
type of the result is bool.
The following two expressions are equivalent:
!right; right == 0;
Related information