i++ 和i-- 有什么区别? C语言

如题所述

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。

温馨提示:答案为网友推荐,仅供参考
第1个回答  推荐于2017-11-26
i++和i--,首先i必须是整数类型!

i++ : 整个式子的值是i,譬如 i = 3; int p = i++; 这里面p的结果是3,计算后, i的值要加1 ,此时i的值为4;
同理对i--;

++i:
整个式子的值是i+1,譬如 i = 3; int p =++i; 这里面p的结果是4,计算后, i的值要加1 ,此时i的值为4;
同理对--i;

希望可以帮到你!
纯手打~本回答被提问者和网友采纳
第2个回答  2020-04-18
++i在用时是i先自增1,再用这时的i值去参与计算;
i++是用增1前的i去参与计算,参与计算后i再增1;
例子:int
i=0;
i++;
printf("%d",i);//这时打出的值为0;
printf("%d",i);//这时打出的值为1,因为i在上个语句中被用过了,本身的值增1
**********
int
i=0;
++i;
printf("%d",i);//这时打出的值为1;
第3个回答  2014-11-16
一个对i的副作用是加,另一个是减...
第4个回答  2014-11-16
先运算在加一,和先运算再减一
相似回答