C中++i和i++的区别是什么

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

Camera课程

Python教程

Java教程

Web教程

数据库教程

图形图像教程

办公软件教程

Linux教程

计算机教程

大数据教程

开发工具教程