i++i=i+1i+=1三个的区别
推荐于2019-08-25
关注
i=i+1与i+=1意思相同,唯⼀2113不同之处就是表达⽅式不同。在代码5261运⾏时i+=1的运⾏速4102度更快。
i++与1653i=i+1的区别在于:i++是有值后⾃增1,i=i+1是直接增加1。
详细区别看代码运⾏结果:
从⽰例种可以看出初始的i=0,i=i+1后i=1。这是我们将j=i++运⾏,j先等于i,i再进⾏i++。因此i++是先有值后⾃增。最终结果i=2,j=1。
⽰例源代码:
#include <stdio.h>int main(){int i,j;i=0;i=i+1;j=i++;printf("%d,%d",i,j);return 0;}
扩展资料:
i=i+1的运算速度低于i+=1的原因在于运算符优先级的不同。
记住我优先级从上到下依次递减,最上⾯具有最⾼的优先级,逗号操作符具有最低的优先级。表达式结合次序取决于表达式中各种运算符的优先级。优先级⾼的运算符先结合,优先级低的运算符后结合,同⼀⾏中的运算符的优先级相同。