++i、--i和i++、i--的区别理解

#include<stdio.h> void main() { int i=8; printf("%d\n",++i);// printf("%d\n",--i);// printf("%d\n",i++);// printf("%d\n",i--);// printf("%d\n",-i++);// printf("%d\n",-i--);// } 输出结果为 9 8 8 9 -8 -9 求分析

第1个回答  2020-03-07
第2个回答  2008-12-06
关于自增自减运算,很多书籍没有把问题讲清楚,在C语言里是这样的:

1.后置运算:k++表示先运算,后自加。
意思是遇到k++了,我先把当前的k的值拿来参加运算,后面再去管它的自加。
那么,【“后面”后到什么程度呢?要后到当前的语句执行完,即遇到分号;表示
语句执行完了,所以k才自加1。】

如:int k=5,b=0;
b=k++;的意思就是,先算b=k(即b=5),遇到分号;表示语句结束,k才自加1,即k变为6。

2.前置运算:++k表示先自加,后运算
这个意思就是遇到++k了,先把k的值加了1,再往后执行别的。

如:int k=5,b=0;
b=++k;的意思就是,先把k自加1,即k为6,再算b=k(即b=6)。

掌握好这两点,k--和--k也是一样的道理。
第3个回答  2008-12-06
++i是在进行运算之前使i自增1,再用增后的值进行运算
i++是在进行运算之后才使i增1,使用原值进行运算一次后,再使i自增1
你运行一下这个再体会体会就明白了:
i=1;j=1;k=1;t=1;
m1=i++ + i++;
m2=++j + ++j;
m3=k++ + ++k;
m4=++t + ++t;
(注:自增自减速运算只能对变量进行,常量和表达式不能进行该运算)

++i、--i和i++、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++)。先执行...

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

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

c#中i++,++i,--i,i--,是什麽意思?如何计算?
从具体算法上来说,++i的效率高,i++的效率低。--同理。就是i = i - 1 符号在前的话,就是先进行--的运算,然后将运算的结果赋值给等号左侧的变量。--在后面就是,先将值赋给等号左侧的变量,然后进行i = i - 1的计算。如果单独拿出来,没有等号左侧的变量。i++;++i;计算结果没有差...

++i,--i,i++,i-- ?
i=5,单看i++和++i都是6 i--和--i也都是4,但是把这些放到运算式子中就不一样了,(1)i++和i--是先运算后++或--,(2)++i和--i是先++或--后运算,也就是说(1)中++和--没有用,用i=5算式子 但(2)中就要用6或4算式子

请问一下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 , ...

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进行自加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与上边是一样的,只不过是自减运算 ...

i++,i--,++i,--i求详解
i++是先使用i的值进行计算,然后i再加1 ++j是先将j的值加1,然后再进行计算 p=(i++)+(i++)+(i++);=5+6+7 =18 此时i=8 q=(++j)+(++j)+(++j);=6+7+8 =21 此时j=8 所以输出为18,21,8,8

i++,i-- 和--i++i的不同
i++是先参加运算后加1,如x=i++相当于x=i;后运行i=i+1;i--是先参加运算后减1,如x=i--相当于x=i;后运行i=i-1;++i是先加1后运算,如x=++i相当于i=i+1;后x=i;--i是先减1后运算,如x=--i相当于i=i-1;后x=i;

相似回答