C语言自增(++)和自减(--)的前后的区别

自增自减完成后,会用新值替换旧值,将新值保存在当前变量中。

自增自减的结果必须得有变量来接收,所以自增自减只能针对变量,不能针对数字,例如2++就是错误的。

需要重点说明的是,++ 在变量前面和后面是有区别的:

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


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

#include <stdio.h>
int main()
{
    int a = 10, b = 20, c = 30, d = 40;
    int a1 = ++a, b1 = b++, c1 = --c, 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);  
    return 0;
}
// 输出如下:
// 首先对于a,b,c,d的最终值都没有疑问
/*
a=11, a1=11    a是前自增,先进行自增运算,再进行赋值运算
b=21, b1=20    b是后自增,先进行赋值,再进行自增运算
c=29, c1=29    c是前自减,先进行自减运算,再进行赋值运算
d=39, d1=40    d是后自减,先进行赋值运算,再进行自减运算
*/

#include <stdio.h>
int main( void )
{
    int m = 5;
    if ( m++ > 5) printf("选择一:%d/n", m);
    else printf("选择二:%d/n", --m);
    printf("第一次打印:%d/n", m);
    printf("第二次打印:%d/n", --m);
    printf("第三次打印:%d/n", m--);
    printf("第四次打印:%d/n", m);
    return 0;
}
// 输出如下:
/*
选择二:5  判断语句中m是后自增,所以先进行比较运算得到false,再进行自增运算m得到为6。然后m前自减,先自减,再匹配过去,所以是5。
第一次打印:5
第二次打印:4
第三次打印:4
第四次打印:3
*/

  • 2
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值