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的原因在于运算符优先级的不同。
优先级从上到下依次递减,最上面具有最高的优先级,逗号操作符具有最低的优先级。表达式的结合次序取决于表达式中各种运算符的优先级。优先级高的运算符先结合,优先级低的运算符后结合,同一行中的运算符的优先级相同。