-=是C语言中赋值运算符的一种,调用形式为
a-=b
其功能等效于
a = a-b
所以
a-=a-5会先计算a-5的值,再用a值减去这个值,最终赋值给a。
即
a-=a-5等效于
a= a-(a-5);
在a=1时,计算结果为
a = 1-(1-5) = 1-(-4) =5;
事实上,从数学运算可以得出,
a-=a-5 = a-(a-5)= a-a+5=5
也就是这个表达式计算后,a的值是恒为5的。
可以理解成这样的代码
int t=a-5;
a=a-t;
v1-=v2其实就是v1=v1-v2; v1+=v2就是v1=v1+v2
所以a-=a-5就是a=a-(a-5)
执行结果为a=5
等号不是等于的意思 是赋值的意思 是给的意思
吧1给A A-5后给A A就变了
就是 a = a - ( a - 5 )
a -= b其实就是a = a - b
a = a - (a - 5)