http://gcc.gnu.org/bugzilla/show_bug.cgi?id=59755
Bug ID: 59755 Summary: BUG Increment Operator with Accessing Arrays Product: gcc Version: 4.8.2 Status: UNCONFIRMED Severity: major Priority: P3 Component: c Assignee: unassigned at gcc dot gnu.org Reporter: octo.nebula at gmail dot com Guys, The increment operator is not working right. The post ++ should increment value of the index after the array expression. But in this case, it acts like the pre ++ version. See code below: #include <stdio.h> int main() { int A[2][2] = { { 5, 7}, {9, 10} }; int m = 0, B[] = { 0, 0 }; int C = 0, D = 0; C = A[m][B[m]]; D = A[m][B[m++]]; if (C != D) { fprintf (stderr, "Error: C /= D\n"); return 1; } return 0; } [sunny@localhost trash]$ gcc test.c [sunny@localhost trash]$ ./a.out Error: C /= D [sunny@localhost trash]$ GCC version is 4.8.2