Marque d'exclamation en c

The negation operator (!) simply just reverses the meaning of its operand.

The operand or the expression must be of arithmetic or pointer type. But the operand/result of expression is implicitly converted to data type bool (boolean 0 means false, Non zero means True).

The result is true if the converted operand is false; the result is false if the converted operand is true. The result is of type bool.
Obnoxious Ocelot