谁能详细的给我讲一下i++,++i,i--,--i的区别阿

最好能举个例子

1、运算符类型不同:

i++使用的是后置自增运算符,++i使用的是前置自增运算符,i--使用的是后置自减运算符,--i使用的是前置自减运算符。递减操作符是“--”,意为“减少一个单位”;递增操作符是“++”,意为“增加一个单位”。

2、运算规则不同:

++i表示,i自增1后再参与其它运算;而i++ 则是i参与运算后,i的值再自增1。自减运算符--与之类似,只不过是变加为减而已,即--i表示,i自减1后参与其它运算,而i-- 则i参与运算后,i的值再自减1个单位。

扩展资料:

特殊情况:

1、在同一条语句中,被操作的数出现多次是可以通过编译的,但是其在C++ Standard等语言标准中被定义为"Undefined behavior"(不确定的行为),即不同的编译器或编译器版本所编译得到的机器码可能不尽相同。

2、不在同一条语句中使被操作的数出现多次,这不仅仅将导致程序的含义难以理解,可读性大幅降低,同时可能导致不同的编译器或编译器版本得到不同的结果。前置后置区别的举例: a = i++; 相当于 a = i; i++; a = ++i; 相当于 i++; a = i;

参考资料来源:百度百科-运算符

参考资料来源:百度百科-自增自减运算符

温馨提示:内容为网友见解,仅供参考
第1个回答  推荐于2017-10-15
1.后置运算:i++表示先运算,后自加。
意思是遇到i++了,我先把当前的k的值拿来参加运算,后面再去管它的自加。
那么,【“后面”后到什么程度呢?要后到当前的语句执行完,即遇到分号;表示
语句执行完了,所以i才自加1。】
如:int i=5,b=0;
b=i++;的意思就是,先算b=i(即b=5),遇到分号;表示语句结束,i才自加1,即i变为6。

2.前置运算:++i表示先自加,后运算
这个意思就是遇到++i了,先把k的值加了1,再往后执行别的。
如:int i=5,b=0;
b=++i;的意思就是,先把i自加1,即i为6,再算b=i(即b=6)。

掌握好这两点,i--和--i也是一样的道理。
第2个回答  2009-03-30
i++,i--:用了i,再把i重新赋值~假如,i=1;a=i++,那么现在的a是1,而i值变为了2,如果是a=i--的话,那么a还是1,但i变成了0;
++i,--i:就是刚好相反,先把i赋了值再用i~假如,i=1;a=++i,那么现在的a是2,i也是2,要是a=--i的话,现在的a就是0,i也是0;
第3个回答  2009-03-30
i=5;
b=i++;
执行过后b=5,i=6
i=5;
b=++i;
执行过后b=6,i=6

就是说i++先执行语句,再自增
++i先自增,再执行语句

i--,--i同理
第4个回答  2009-03-30
对i++,i--,++i,--i的易解,在此举一例子详解:
main( )
{
int x,y,z;
x=y=2;z=3;
y=x++-1;printf("%d\t%d\t",x,y); /*x=3,y=1,后置++,先把x赋值给y,再做运算,而x的值无论是前还是后置都加1*/
y=++x-1;printf("%d\t%d\t",x,y);/*x=4,y=3,前置++,先把x加1后赋值给y,然后做运算(此行x初值是上行的终值=3)*/
y=z--+1;printf("%d\t%d\t",z,y); /*z=2,y=4,同上理可知*/
y=--z+1;printf("%d\t%d\t",z,y); /*z=1,y=2,同理可证*/
getch(); }

看懂了吧本回答被提问者采纳

谁能详细的给我讲一下i++,++i,i--,--i的区别阿
1、运算符类型不同:i++使用的是后置自增运算符,++i使用的是前置自增运算符,i--使用的是后置自减运算符,--i使用的是前置自减运算符。递减操作符是“--”,意为“减少一个单位”;递增操作符是“++”,意为“增加一个单位”。2、运算规则不同:++i表示,i自增1后再参与其它运算;而i++...

++i、--i和i++、i--的区别理解
1、执行时间先后顺序不同。++i 先执行i+1后执行程序 i++ 先执行程序后执行i+1 int i=8; printf("%d\\n",++i),先执行加法所以打印出来的是9 printf("%d\\n",--i)。2、执行减法的先后程序不同。先执行减法 打印出来是8 printf("%d\\n",i++)。先执行程序 打印出来是8 打印结束后i为99...

java的 i++ ,++i ,i-- ,--i什么意思啊?
int num=++i;system.out.println(num);这时输出的Num=2。也就是说,i++是先赋值,后自增。而++i是先自增,后赋值。i--与i++一样。--i与++i一样。只是由加变成了减

C语言中i++,i--.++i,--i是什么意思
i++和++i都是i进行自加1,只不过前者是先调用i再自加,后者是先自加再调用i。例如:int i=1;int o=i++;\/\/ 先将i的值附给o,i再加1 int p=++i;\/\/先将i加1,再把i的值附给p o的值是0,而p的值是3 i--和--i与上边是一样的,只不过是自减运算 ...

C++ 中的 i++、++i、--i、i--、+=、-=、*=、\/= 这些如何理解?
在C++中,i++、++i、--i、i--、+=、-=、*=、\/= 这些运算符都是对变量进行操作的。下面是它们的详细解释:1. i++:这是后置自增运算符,表示先使用变量i的值,然后再将i的值加1。例如,如果i的初始值为5,那么表达式i++的结果就是5,然后i的值变为6。2. ++i:这是前置自增运算符...

请问一下c语言中++i跟i++,以及——i跟i--的区别啊
++i以及i++和--i以及i--之间的区别原理是一致的,搞清楚一种就能理解另一种了。说一下前缀(++i)自增和后缀(i++)自增之间的区别:以例子来说:例子1:int i = 5 ;int b = 0 ;b = ++i ;例子2:int i= 5 ;int c = 0 ;c = i++ ;两个例子中,例子1里面 b = 6 , ...

i++和++i的区别
i++;++i;没有区别,都是自增1,相当于 i=i+1;--- 在表达式里使用,两者不同。表达式里,i++ 就是 i, 不 自增, 先使用。退出 表达式 时 再 自增。表达式里,++i 就是 i=i+1, 先自增1, 再使用。退出 表达式 时 不另自增。例如:int i=2,a;a = i++; a 为2 a...

C语言中i++,++i,i--。--i是怎么运算的,有区别吗
i=1; k=1; k=++i+k; k 就等于 3 ,因为先进行自加 i++ , i 变为 2 ,然后 i 再加上等于 1 的 k ,赋给 k 得 3 ,相当于先i=i+1;再k=k+i; i=1; k=1; k=k+i++ ; k 就等于 2 ,因为先进行 k+i , k变为 2 ,然后 i 再自加等于 2 ,相当于先k=k+i;...

单片机c51语言,i++。i--,--i,++i的区别
i++先执行,执行完后,i自加1,++i,先自加1后再执行 例如:int i=1;int a=0,b=0;a=i++;b=i;这里,a=1,b=2;如果把上面的a=i++,改成a=++i;那么 a=2,b=2 i--,--i也是这么个道理

数据结构i++ i-- --i ++i 杂区分的 知道的 说一下 谢谢~~
i++,i--:先取值在进行加减 ++i,--i:先加减再取值

相似回答