时间:2021-05-18
i++和++i的区别:
1、i++ 返回原来的值,++i 返回加1后的值。
2、i++ 不能作为左值,而++i可以。
3、i++前者是先赋值,然后再自增;++i后者是先自增,后赋值。
如果有表达式 a = i++ ;它等价于 a = i;i = i + 1;
如果有表达式 a = ++i;它等价于i = i + 1;a = i;
++i和i++都是分两步完成的。因为++i 是后面一步才赋值的,所以它能够当作一个变量进行级联赋值,++i =;a =b,即++i是一个左值(可被寻址的值);i++ 的后面一步是自增,不是左值。
++i和i++的使用,一般来说在循环域里面,这两者并没有什么很大的区别,因为编译器一般都会做优化。但是要注意其生存周期,以及很难察觉的,就好像指针delete以后一定要赋予0一样,要注意i值在程序流中的变化。
声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。
平时都是这样写的for循环,for(vari=0;i<20;i++){....}但我看有的人这样写for(vari=0;i<20;++i){....}这样会对f
java中的前加加++和后加加++,有很多人搞的很晕,不太明白!今天我举几个例子说明下前++和后++的区别!其实大家只要记住一句话就可以了,前++是先自加再使用
i=i++;j=i++的区别i=i++-----------在java中这个语句的前后顺序应该是这样的(tmp=i;i++;tmp==i)java的编译器在遇到
breakfunctionmyBreak(){for(vari=0;i<5;i++){if(i==3){break;}console.log(i);}}myBr
复制代码代码如下:functionutf8_substr($str,$len){ for($i=0;$i127){ $i++; if($i