Operator precedence


Programmers should use parentheses more often. The following C language snippets are mind-blowing examples of when operator precedence is not obvious and can bite you.

x & 0x01 == 0</code>

== is evaluated first and then &.

a + b ^ c + d
  • is evaluated first and then ^.

MISRA C and CERT Secure Coding site actually have rules against depending on operator precedence, for instance EXP00-C.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s