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
x
is equal to the value of the expressiony - z
then the condition evaluates to the logical false.So it seems there is a typo in the book.