i++和++i是什么意思

如题所述

i++和++i是C语言运算符,i++是后缀递增的意思,++i是前缀递增的意思。

1、i++是后缀递增的意思,i++是先进行表达式运算,再进行自增运算。把i++的运算过程拆分开,等效于i=i+1可以看到运算结果是一致的。

x = i ++;    //先让x变成i的值1,再让i加1

2、++i是前缀递增的意思,++i是先进行自增或者自减运算,再进行表达式运算。运算结果可以发现,仅从i的值来看,++i和i++最终的i值是一样的,都是i自增加了1。

x = ++i;    //先让i加1, 再让x变成i的值1

扩展资料

C语言运算符的特点

1、C语言是一种具有结构化编程、变量作用域和递归函数的过程化语言。

2、C语言中按值传递的形参和按值传递的指针也可以传递。

3、不同的变量类型可以与结构体结合使用。

4、只有32个保留关键字可以使变量和函数的命名更加灵活。

5、可以转换部分变量类型,比如整数和字符变量。

6、利用指针,C语言可以很容易地控制内存在较低的层次上。

7、预编译处理(预处理器)使C语言编译更具弹性。

参考资料来源:百度百科—C语言运算符

温馨提示:答案为网友推荐,仅供参考
第1个回答  2021-07-27

i++和++i是C语言运算符,i++是后缀递增的意思,++i是前缀递增的意思。

i++是后缀递增的意思,i++是先进行表达式运算,再进行自增运算。把i++的运算过程拆分开,等效于i=i+1可以看到运算结果是一致的。x = i ++;    //先让x变成i的值1,再让i加1。

++i是前缀递增的意思,++i是先进行自增或者自减运算,再进行表达式运算。运算结果可以发现,仅从i的值来看,++i和i++最终的i值是一样的,都是i自增加了1。

程序中

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

第一个式子会先把i的值赋给a,然后再自身加1 ,即等价于 a=i; i=i+1;。第二个式子正好相反,先进行自身加1操作,再把加1 后的值赋给a, 即等价于 i=i+1;a=i。

以上内容参考:百度百科-++

本回答被网友采纳
第2个回答  2020-05-29
都是i=i+1的意思,区别在于i++是i先不自加,在语句完后自加,++i先自加;列如a=1+i++;i本来为1的话,这里a=1+1;语句完后i才加1为2;
a=1+++i的话就先i=i+1;i=2.然后a=i+1,a=3
第3个回答  2022-08-23
i++是i=i+1; ++i也是i=i+1;而区别在于值的增加这一动作发生的时间是不同的,我给你举一例子
#include<stdio.h>
void main()
{int i=1;
printf("%d ",i++);
printf("%d",i);
}
其运行结果为 1 2;
#include<stdio.h>
void main()
{int i=1;
printf("%d ",++i);
printf("%d",i);
}
其运行结果为 2 2;
也就是说++i是先把i+1 复制给i,而i++是先执行完i所在的语句后再把i+1复制给i。
第4个回答  2019-12-04
i++
:先引用后增加
++i
:先增加后引用
i++
:先在i所在的表达式中使用i的当前值,后让i加1
++i
:让i先加1,然后在i所在的表达式中使用i的新值
相似回答