在 c 语言中 ++i 和 i++ 的区别是什么?
在 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,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
广告