i+=2是什么意思?

 我来答
科技源于生活
高能答主

2021-12-11 · 科技改变生活,科技让我们进步!
科技源于生活
采纳数:303 获赞数:18198

向TA提问 私信TA
展开全部

这个表达相当于 i=i+2,就是把i加2在重新赋值给i。

s+=i,等价于s=s+i,意思是使用加赋值,不但可以让代码更加简洁,而且能提高程序的运行效率。

复合赋值运算符共 10种:+= 加赋值,-= 减赋值,*= 乘赋值,/= 除赋值,%= 求余赋值,&= 按位与赋值,| = 按位或赋值,^= 按位异或赋值,<<= 左移位赋值,>>= 右移位赋值。

在赋值运算符当中,有一类C/C++独有的复合赋值运算符。它们实际上是一种缩写形式,使得对变量的改变更为简洁。

i = i + 2 和 i += 2的区别主要有以下三点:

1、运算顺序不相同

简单说就是i=i+2 比 i+=2多了一次对变量 i 的运算。i=i+2是先进行i+2的运算得出一个结果,再赋值给i。i+=2就是先赋值然后在进行加法。

2、得到的结果不相同

C语言中i +=2 等同于 i = i + 2 这是简略写法,但是计算时算法不相同,i=i+2更容易得出i的赋值。例如:i=1,则i=i+2得到的结果是i=3,而i+=2得到的结果是i=1,运算得到的值不相同。

3、运算效率不相同

i=i+2运算效率最低,因为运算时读取右i的地址i+1,读取左i的地址;将右值传给左边的i(编译器并不认为左右i的地址相同),而i+=2运算时读取右i的地址,令i=1,将得到的值传给i(因为i的地址已经读出)。

推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式