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