i++ i=i+1 i+=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的原因在于运算符优先级的不同。

优先级从上到下依次递减,最上面具有最高的优先级,逗号操作符具有最低的优先级。表达式的结合次序取决于表达式中各种运算符的优先级。优先级高的运算符先结合,优先级低的运算符后结合,同一行中的运算符的优先级相同。

原文地址:https://www.cnblogs.com/muhy/p/13685241.html