This is the mail archive of the gcc-bugs@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[Bug c/50425] New: precedence rule for pre/post increamet/decreament and effect of white spaces


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: unassigned@gcc.gnu.org
        ReportedBy: grj017@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.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]