I think this is a simple question, but I\'m struggling with the following. In my example I have the following statement (language is C):
int foobar
if (fooba
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
Your statement should return true if foobar is a negative number (it's still different than zero) but you should avoid that sort of test as it's not the best practice to test variables that can have different 'true' values in that way.
same, the
if (foobar)
means foobar not zero so whether it is positive or negative doesn't matter, it is still not zero