big tree

导航

C语言自增(++)和自减(--)

  • ++ 在前面叫做前自增(例如 ++a)。前自增先进行自增运算,再进行其他操作。
  • ++ 在后面叫做后自增(例如 a++)。后自增先进行其他操作,再进行自增运算。
  • 自减(--)也一样,有前自减和后自减之分。
 1 #include <stdio.h>
 2 int main()
 3 {
 4     int a = 10, b = 20, c = 30, d = 40;
 5     int a1 = ++a, b1 = b++, c1 = --c, d1 = d--;
 6    
 7     printf("a=%d, a1=%d\n", a, a1);
 8     printf("b=%d, b1=%d\n", b, b1);
 9     printf("c=%d, c1=%d\n", c, c1);
10     printf("d=%d, d1=%d\n", d, d1);
11    
12     return 0;
13 }
View Code

输出结果:
a=11, a1=11
b=21, b1=20
c=29, c1=29
d=39, d1=40

a、b、c、d 的输出结果相信大家没有疑问,下面重点分析a1、b1、c1、d1:
1) 对于a1=++a,先执行 ++a,结果为 11,再将 11 赋值给 a1,所以 a1 的最终值为11。而 a 经过自增,最终的值也为 11。

2) 对于b1=b++,b 的值并不会立马加 1,而是先把 b 原来的值交给 b1,然后再加 1。b 原来的值为 20,所以 b1 的值也就为 20。而 b 经过自增,最终值为 21。

3) 对于c1=--c,先执行 --c,结果为 29,再将 29 赋值给c1,所以 c1 的最终值为 29。而 c 经过自减,最终的值也为 29。

4) 对于d1=d--,d 的值并不会立马减 1,而是先把 d 原来的值交给 d1,然后再减 1。d 原来的值为 40,所以 d1 的值也就为 40。而 d 经过自减,最终值为 39。

可以看出:a1=++a;会先进行自增操作,再进行赋值操作;而b1=b++;会先进行赋值操作,再进行自增操作。c1=--c;d1=d--;也是如此。



 

posted on 2021-03-16 18:41  big tree  阅读(268)  评论(0编辑  收藏  举报