Does if (!(-1)) evaluate to true or false in C?
<p>I know that 0 and NULL evaluate to FALSE on their own and I know that a negative integer or a positive integer evaluate to TRUE on their own. </p>

<p>My understanding is that the NOT operation will happen after evaluating the expression, so <code>if (-1)</code> will evaluate to <code>TRUE</code>, then applying the <code>!</code> operand will mean <code>NOT TRUE</code> which equals <code>FALSE</code>. Is this the correct order of operations and is it correct that <code>if (!(-1))</code> will evaluate to <code>FALSE</code>?</p>