++ 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