if statement integer
same, the
if (foobar)
means foobar not zero so whether it is positive or negative doesn't matter, it is still not zero
negative or positive. Anything that's not a 0 is a true value in if
Also, Consider a negative number: -1
-1 in C internally is represented as: 0xFFFFFFFF
, in which case, it would be a positive number if I cast it to unsigned integer.
But after the advent of C99 standard compilers, I suggest you use
<stdbool.h>
instead. Makes the guessing work a lot less:
Read here about stdbool.h