c+=1就是c=c+1
的简写形式。而且在计算机的执行效率会更高。
类似地,还有
-=
*=
/=
%=
<<=
>>=
&=
^=
|=
等等。
x-=2*3
就是x=x-2*3
y*=2+3
就是y=y*(2+3)
单独的c++和c=c+1在效果上没有区别。二者的区别有以下几点:1.在表达式中,c++有两个值,而c=c+1只有一个值。比如c=3时,c++在原值3参与表达式运算,运算结束后才使c+1=4,而c=c+1若在运算前出现,则以c=4参与运算。
2.在机器码实现上,c++效率比c=c+1高;c++只读一次内存直接对其中的操作数增1,c=c+1两读两次c,编译器并不认为等号两边的变量c是同一个变量……