c++中++i与i++的区别是什么

如题所述

刚才看到一个问题,也是问这个差不多的问题,最佳答案居然是
int
i=0;i+=;
居然是1我晕,明显语法错误,可是我没回答上他就关掉了,现在转到你这来。
一、i+=s;为自身加上等号后面的的值,例如
int
i=5;
i+=10;//此时i=15
,相当于i=i+10;
二、如果你想要使用自增1或自减1,则使用方式是i++;或i--;(
或++i和--i;)
例如
int
i=5;
i++;//此时i=6
三、
i++;和++i的区别是,如果单独执和没明区别,如果与其它操作符一起执行,则有影响计算的前后次序,例如
例1:
int
i=1;
int
b=++i;
//此时会先将i自增1等于2,然后赋值给b,所以b=2
例2:
int
i=1;
int
b=i++;
//此时会先将i的值赋给b,然后i自增1,所以b的值是i没自增1的值,所以b=1
温馨提示:内容为网友见解,仅供参考
第1个回答  2019-01-09
如果是单独复的语句
i++;
++i;
是没有什么区别的,执行后都是增1.
但下面是有区别的
a
=
i++;
b
=
++i;
前者,相当于制
a
=
i;i++;
后者相当于
++i;
b=i;
也就是在这时候,i++是先使用i的值zhidao,再改变i的值。而++i是先改变i的值,然后再使用改变后的i值。
第2个回答  2020-05-25
简单的来说,++i

i++,在单独使用时,就是
i=i+1。

a
=
++i,相当于
i=i+1;
a
=
i;

a
=
i++,相当于
a
=
i;
i=i+1;
如果实在搞不明白++
--怎么回事,那也不是什么事。
因为a=++i完全可以写成
i++;
a=i。
a=i++完全可以写成
a=i;
i++。本回答被提问者采纳
相似回答