I recently started learning C from Sams Teach Yourself C In 21 DAYS, and I can't understand why one expression evaluates to TRUE. It's one of the excersises at the end of the chapter.
x = 4
y = 6
z = 2
if(x != y - z)
I thought that "-" has higher precedence than "!=". What am I missing? I mean, it's getting late and I've been awake since 5am, so maybe my brain is giving up...
The expression in the if statement
may be equivalently rewritten using parentheses like
because the additive operator
-has a higher priority than the equality operator!=.As actually
xis equal to the value of the expressiony - zthen the condition evaluates to the logical false.So it seems there is a typo in the book.