i++:先引用后自增。
++i:先自增后引用。
所以,
i=1;
i=i++;
// 此时i为1
// 执行流程为,i=1,i把值放在等号右边(需要一个临时变量,所以这也是i++比++i慢的原因),i++完成自增为2,最后执行等号,i=temp,(temp是刚才临时变量),所以i为1.
i=1;
i=++i;
// 此时i为2
// 执行流程,i=1,++i在i本身上完成自增(不需要临时变量)为2,把i的引用放在等号右边,最后执行等号,i=引用,所以,i为2.
本文详细解析了i++和++i在编程中的不同行为。i++先引用后自增,而++i先自增后引用。通过示例说明了两者在赋值操作中的具体执行流程,帮助理解自增运算符的使用。
i++:先引用后自增。
++i:先自增后引用。
所以,
i=1;
i=i++;
// 此时i为1
// 执行流程为,i=1,i把值放在等号右边(需要一个临时变量,所以这也是i++比++i慢的原因),i++完成自增为2,最后执行等号,i=temp,(temp是刚才临时变量),所以i为1.
i=1;
i=++i;
// 此时i为2
// 执行流程,i=1,++i在i本身上完成自增(不需要临时变量)为2,把i的引用放在等号右边,最后执行等号,i=引用,所以,i为2.

被折叠的 条评论
为什么被折叠?