C语言中++i 和i++有啥区别啊? C语言编程中的++i和i++有什么区别?

作者&投稿:柘戴 (若有异议请与网页底部的电邮联系)

i++和++i都是c语言里的自增,但是它们自增的顺序不同。++i表示,i自增1后再参与其它运算,而i++ 则是i参与运算后,i的值再自增1。

for循环里循环变量增值用i++,而不用++i是因为在循环结构里需要循环变量来结束循环,而使用i++则会导致本来应该继续的循环少执行一次,所以循环结构里通常都是循环变量在一次循环结构执行完成之后再自增。

扩展资料

i++和++i前置后置区别的例子:

1、a = i++;

相当于 a = i; i++;

2、a = ++i;

相当于 i++; a = i;

3、int i=3;

int j=4;

int a = i++;

int b = ++j;

printf("%d, %d
", a, b);

结果是3,5。++前置:i自增1后再参与其它运算;++后置:i参与运算后,i的值再自增1”。很明显,a = i++;由于是先执行赋值运算,再自增,所以结果是a=3,i=4;而b = ++j。

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



关于自增自减运算,很多书籍没有把问题讲清楚,在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也是一样的道理。

++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++:先参与处理,再进行自增动作

a=++1:
这个语句是不对的,常量不能进行++,--操作
如果是a=++i的话:
运行步骤如下:
i = i + 1;
a = i;

b=j++;
运行步骤如下:
b = j;
j = j + 1;

程序中单独把
i++;
或者
++i;
作为一条语句时,两个是没有区别的。
但要是和其它式子一起进行复合运算,通常会包含两种操作,比如:
a=i++;

a=++i;
这两个式子的不同点就是:第一个式子会先把i的值赋给a,然后再自身加1
,即等价于
a=i;
i=i+1;。第二个式子正好相反,先进行自身加1操作,再把加1
后的值赋给a,
即等价于
i=i+1;a=i;
.
望采纳!!

++i和i++有什么区别啊?~

区别在于:++先做别的事,再自己加1,++i先自己加1,再做别的事情,形象的理解,你可以把++i比作自私的人,首先考虑自己的事,i++是无私的,先为别人照想,这样方便记忆。

首先我们定义一个变量i,int i=5,然后我们做执行printf(“%d”,i++),我们会发现输出结果是5。

是为什么呢,我们要搞清楚printf(“%d”,i++)这句话是做两件事:1.输出i、2.i=i+1,这里的顺序,是先输出i,再执行i=i+1。

然后我们初始化变量i,i=5;、然后我们做执行printf(“%d”,++i)、我们会发现输出结果是6,其实printf(“%d”,++i);做的也是这两件事:1.输出i、2.i=i+1,只是先做i=i+1,然后输出i。


i++和i--的区别:
1、运算方式
i++属于自增运算,相当于i=i+1;
i--属于自减运算,相当于i=i-1;
2、值的变化:
假设i=10,分别运行i++、i--后;
i++后:i=i+1=10+1=11;
i--后:i=i-1=9。

扩展资料:
无论i++,还是i--,这两个公式既可以单独存在,也可以赋值给另外的变量。当赋值引用的时候,他们的含义:
1、i++,先引用i的值,后增加i的值,
如int i=10;
int a=i++;
该程序运行后,a=10,而i=11。
2、i--,先引用i的值,后i的值减1。
如int i=10;
int a=i--;
该程序运行之后,a=10,i=9。
除了以上的用法外,还有一种表示法是++i或者--i,这种表示法i的值也会相应的自增1或者自减1,i的结果和i++与i--是相同的,但是当赋值给另一个变量时,对赋值的变量,结果却存在差别,因为++i代表先增加,后引用,--i代表先减少,再引用。
例如同样的程序,i=10,
如果int a=i++,那么a=10;而int b=++i的话,b=11;
如果int a=i--,那么a=10;而int b=--i的话,b=9。