i = i + 2 和 i += 2的区别
的有关信息介绍如下: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的地址已经读出)。
扩展资料:
i = i + 2 和 i += 2都是和赋值相关的运算,赋值运算符除了=和+=外还包裤轿括-=,*=,/=,%=,&=,|=,^=,>>=,<<=。
其中=称为简单赋值,+=,-=,*=,/=,%=称为复合算术赋值,&=,|=,^=,>>=,<<=称为复合位运算赋值。
参考资料:c语言运算符号_百度百科