自增自减运算符是复合运算符的更简单写法
变量a自身加1可表示为:
a=a+1;
复合运算符表示法
a+=1;
自增运算符表示法
a++;
++a;
相应的也有自减运算符表示法
a--;
--a
自增自减完成后,会用新值替换旧值保存在当前变量中。
自增自减的结果必须得有变量来接收,所以自增自减只能针对变量,不能针对数字或表达式。
前自增(自减)和后自增(自减)的区别:
一个例子:输出i自增后的值以及分别被i++和++i赋值的j的值,分析两种自增的区别
#include <stdio.h>
int main() {
int i = 5, j;
j = i++;
printf("i=%d,j=%d\n", i, j);
i = 5;
j = ++i;
printf("i=%d,j=%d\n", i, j);
return 0;
}
观察结果得知i值都变为6,但是j却被分别赋值为5和6,即前自增和后自增的区别是一个先自增再赋值,另一个先赋值再自增。
记忆法:
【根据赋值符‘=’后的变量i的形式判断把i自增前还是自增后的值赋给j】
若为【++i】,则把++i看作整体,把自增后的i值(++i)赋给j(先自增再赋值);
若为【i】,则先把i值赋给j,再让i自增(先赋值再自增)。
(自减同上)