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语言运算符
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。
以上内容参考:百度百科-++
a=1+++i的话就先i=i+1;i=2.然后a=i+1,a=3
#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。
:先引用后增加
++i
:先增加后引用
i++
:先在i所在的表达式中使用i的当前值,后让i加1
++i
:让i先加1,然后在i所在的表达式中使用i的新值