在 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

更新于: 12-Sep-2023

35K+ 浏览量

开启 职业生涯

完成课程以获得认证

开始学习
广告