在C语言中,i++
和++i
都是一种递增运算符,它们都会将变量i
的值递增1,并且返回递增前的值。
但是它们之间有一个重要的区别:i++
是后递增操作符,先将i
的值返回,然后再将i
递增1;而++i
是先递增操作符,先将i
的值递增1,然后再将递增后的值返回。
下面是具体的区别示例:
int i = 5;
int x, y;
x = i++; // x = 5, i = 6
y = ++i; // y = 7, i = 7
在第一个示例中,x = i++
,x
的值被赋予了i
的初始值5,然后i
的值递增1变为6。
而在第二个示例中,y = ++i
,i
的值先递增1变为7,然后将递增后的值赋给了y
。
所以,i++
和++i
的区别在于返回值的时机不同,前者是先返回初始值再递增,后者是先递增再返回递增后的值。