C中++i和i++的区别是什么
在C中, ++ 和 -- 操作符被称为增量和减量操作符。它们是单目操作符,只需要一个操作数。因此, ++ 和 -- 操作符可以在操作数之前或之后出现,效果相同。
这意味着 i++ 和 ++i 都是等效的。
i=5;
i++;
printf("%d",i);
和
i=5
++i;
printf("%d",i);
both will make i=6.
然而,当递增表达式与赋值运算符一起使用时,运算符优先级就会介入。
i=5;
j=i++;
在这种情况下,赋值符号=的优先级高于后置++。所以,在增加i之前,i的值被赋给了i。这里j变成了5,i变成了6。
i=5;
j=++i;
在这种情况下,前缀++的优先级高于=运算符。因此,我将先递增i并将递增后的值赋给j,这样i和j都变成了6。
#include <stdio.h>
int main() {
int i=5,j;
j=i++;
printf ("
after postfix increment i=%d j=%d", i,j);
i=5;
j=++i;
printf ("
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