C语言自增(++)和自减(–)实例详解

2025-05-27 0 105

一个整数自身加一可以这样写:

a+=1;

它等价于a=a+1;。

但是在C语言中还有一种更简单的写法,就是a++;或者++a;。这种写法叫做自加或自增;意思很明确,就是自身加一。

相应的,也有a–和–a,叫做自减,表示自身减一。

++和–分别称为自增自减运算符。

自增自减的示例:

?

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15
#include <stdio.h>

#include <stdlib.h>

int main()

{

int a = 10, b = 20;

printf("a=%d, b=%d\\n", a, b);

++a;

--b;

printf("a=%d, b=%d\\n", a, b);

a++;

b--;

printf("a=%d, b=%d\\n", a, b);

system("pause");

return 0;

}

运行结果:

a=10, b=20

a=11, b=19

a=12, b=18

自增自减完成后,会用新值替换旧值,并将新值保存在当前变量中。自增自减只能针对变量,不能针对数字,例如10++是错误

的。

值得注意的是,++ 在变量前面和后面是有区别的:

++ 在前面叫做前自增(例如 ++a)。前自增先进行自增操作,再进行其他操作。

++ 在后面叫做后自增(例如 a++)。后自增先进行其他操作,再进行自增操作。

自减(–)也一样,有前自减和后自减之分。

请看下面的例子:

?

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15
#include <stdio.h>

#include <stdlib.h>

int main()

{

int a=10, a1=++a;

int b=20, b1=b++;

int c=30, c1=--c;

int d=40, d1=d--;

printf("a=%d, a1=%d\\n", a, a1);

printf("b=%d, b1=%d\\n", b, b1);

printf("c=%d, c1=%d\\n", c, c1);

printf("d=%d, d1=%d\\n", d, d1);

system("pause");

return 0;

}

输出结果:

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–;也

是如此。

自增自减非常方便,后续编程中会经常用到,大家要注意区分。

为了强化记忆,我们再来看一个自增自减的综合示例:

?

1

2

3

4

5

6

7

8

9

10

11

12
#include <stdio.h>

#include <stdlib.h>

int main()

{

int a=12;

int b=1;

int c=a-(b--); // ①

int d=(++a)-(--b); // ②

printf("c=%d, d=%d\\n", c, d);

system("pause");

return 0;

}

输出结果:

c=11, d=14

我们来分析一下:

1) 执行语句①时,会先进行a-b运算,结果是11,然后 b 再自减,就变成了 0,最后再将a-b的结果(也就是11)交给 c,所以 c

的值是 11。

2) 执行语句②之前,b 的值已经变成 0。对于d=(++a)-(–b),a 会先自增,变成 13,然后 b 再自减,变成 -1,最后再进行13-(-

1),结果是14,交给 d,所以 d 最终是 14。

以上就是对C语言自增自减知识的介绍,希望对你学习这块知识有所帮助!

收藏 (0) 打赏

感谢您的支持,我会继续努力的!

打开微信/支付宝扫一扫,即可进行扫码打赏哦,分享从这里开始,精彩与您同在
点赞 (0)

声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。

快网idc优惠网 建站教程 C语言自增(++)和自减(–)实例详解 https://www.kuaiidc.com/74389.html

相关文章

发表评论
暂无评论