Search code examples
cif-statementlogical-operatorsnegation

What's the meaning of !int_variable--?


I can't understand what the following code is doing on s:

 if(!s--)

s is an int


Solution

  • ! is called negation operator. It is a logical operator.

    See the wikipedia entry here.

    if(!s--)
    

    The order in which it executes

    1. check the value of s is 0 or not , if s is 0, if condition is success [thanks to the ! operator], otherwise, failure.
    2. After that, decrement s by one unit.
    3. Based on the evaluation of if condition, continue the execution [code under if condition, or next block of code].