if statement integer

后端 未结 3 1811
借酒劲吻你
借酒劲吻你 2020-12-14 01:23

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         


        
相关标签:
3条回答
  • 2020-12-14 01:35

    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

    0 讨论(0)
  • 2020-12-14 01:37

    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.

    0 讨论(0)
  • 2020-12-14 01:53

    same, the

    if (foobar) 
    

    means foobar not zero so whether it is positive or negative doesn't matter, it is still not zero

    0 讨论(0)
提交回复
热议问题