++ i和i ++在c中有什么区别?

在C中,++和-运算符称为递增和递减运算符。它们是一元运算符,只需要一个操作数。因此,++和-运算符可以出现在操作数之前或之后,具有相同的效果。 

这意味着i ++和++ i将等效。

i=5;
i++;
printf("%d",i);

和 

i=5
++i;
printf("%d",i);

两者都会使i = 6。

但是,当增量表达式与赋值运算符一起使用时,运算符的优先级就会出现。 

i=5;
j=i++;

在这种情况下,=的优先级高于后缀++。因此,在递增i之前将i的值分配给i。这里j变成5,而我变成6。

i=5;j=++i;

在这种情况下,前缀++的优先级大于=运算符。因此,我将首先递增,并将递增的值分配给j,此处i和j都变为6。

#include <stdio.h>
int main() {
   int i=5,j;
   j=i++;
   printf ("\nafter postfix increment i=%d j=%d", i,j);
   i=5;
   j=++i;
   printf ("\n after prefix increment i=%d j=%d",i,j);
   return 0;
}

输出是

after postfix increment i=6 j=5
 after prefix increment i=6 j=6