在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
的區別在于返回值的時機不同,前者是先返回初始值再遞增,后者是先遞增再返回遞增后的值。