1.自增自减运算符的优先级比 加减乘除 运算符高

n*m++ 理解为 n*(m++)

 

2. 右自增,自减的 "先使用,再增加"  是指在 执行下一条语句前统一的增加(i++ 在遇到每个逗号,分号后,才认为本计算单位已经结束,i 这时候自加)

如:

int i = 5; 
   printf("iTest = %d i = %d\n", iTest, i); //语句等价于 iTest = i + i + i + i;     i = i +1; i = i +1; i = i +1; i = i +1;

   printf("%d \n", iTest);  //无论何种编译器都统一为20, 9;  如果 int iTest = i++ + i++ + i++ + i;  //也是20, 8
 int iTest = i++ + i++ + i++ + ++i; // 24 ,9

 

例 

i += i++;  //int i = 5;
         printf(" i = %d\n" i);  //11   i = i + i; i = i + 1;//10+1
  int j = 5;
  int iTestJ = ++j + ++j + ++j; // 等价于j = j + 1; j = j + 1; iTestJ = j + j; j = j + 1; iTest = iTest  + j; 
   printf("iTestJ = %d j = %d\n", iTestJ, j);   //24,8 
 // 如果 int iTest = i++ + i++ + i++ + ++i;   //24, 9