http://gcc.gnu.org/bugzilla/show_bug.cgi?id=50425
Bug #: 50425 Summary: precedence rule for pre/post increamet/decreament and effect of white spaces Classification: Unclassified Product: gcc Version: 4.6.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: c AssignedTo: unassig...@gcc.gnu.org ReportedBy: grj...@gmail.com Hi, I was trying to understand precedence of pre/post increment/decrement operators. But it seems to be very confusing. According to precedence rule pre increment has higher precedence than addition(+) and lower precedence than post lineament. But when I use any expression like j= i + ++i + i + ++i; according to precedence rule pre icrements will be performed first and then remaining statement. suppose value of i=2, according to precedence rule pre increments will be performed first and then addition. So after two pre increments value of i becomes four and this value should be used in evaluation of complete statement and it should be 16 but it is not. What is correct rule of precedence in this case ?? Similarly in C, generally white spaces does not make any sense but in following case they are they are behaving differently.consider following statements: j = i +++ i; j= i++ + i; j=i + ++i; j=i + + + i; Please let me know, how are white space treated in this case? please follow a consistent rule. Also clarify precedence rule of these operators.