Consider the following code:
int main(void)
{
int x=10,y=20,res;
res=x---y;
printf("res=%d x=%d y=%d\n",res,x,y);
return 0;
}
the statement x—y can be parsed as:
(x--) - y
or
x - (--y)
The first one is the correct so It will print
res=-10 x=9 y=20
Conclusion
Don’t trust operator precedence , it creates hard to read code , always use parentheses