继续浏览精彩内容
慕课网APP
程序员的梦工厂
打开
继续
感谢您的支持,我会继续努力的
赞赏金额会直接到老师账户
将二维码发送给自己后长按识别
微信支付
支付宝支付

#30天编程#01天-C语言递增与递减

慕田峪4196827
关注TA
已关注
手记 1
粉丝 0
获赞 0

# 自增与自减


在C语言汇总的运算中有 a++, ++a, a--,--b 四种不同的递增和递减的方式。下面就这四种使用场景分别说明。


这个操作符放在前面与放在后面的区别主要是:


## a++, b-- 操作符放后面

看下面的代码

# include <stdio.h>

int main()
{       
        int a=10,b=0;
        b = a++;
        printf("a = %d, b = %d \n",a,b)
        
        return 0;
}

上面的代码定义了 a的值为10,b的值为0;

关键是看`c=a++`  这段代码,这段代码主要是将 a的值递增并赋值给b变量。

现在的问题就是 是先把a的值赋给b,还是a递增之后的值给b?

我们执行代码可以看到结果。

b的值为10,说明 先赋值给b,然后再递增。


同理b--的代码可以推断,应该也是赋值,然后才递减。

# include <stdio.h>

int main()
{
    int a=10,b=0;
    b = a--;
    printf("a = %d, b = %d \n",a,b);

    return 0;
}


所以结果为 a = 9 b=10



## ++a,--a 操作符放在前面

根据上面 a++ 操作符放在后面的结果来推断

++a 格式的操作 应该是 先递增再赋值。

我们可以写段代码来看下

# include <stdio.h>

int main()
{
    int a=10,b=0;
    b = ++a;
    printf("a = %d, b = %d \n",a,b);

    return 0;
}



所以上面的代码 a的值递增后变成11, 然后将值赋给b,b的值也为11。


同理, --a也是一样。

如下面代码

# include <stdio.h>

int main()
{
        int a=10,b=0;
        b = --a;
        printf("a = %d, b = %d \n",a,b);

        return 0;
}


a = 9 b=9

# 总结


- 符号放在前面 即b = ++a ,执行的时候先进行递增,再进行赋值,所以运算之后的值 a和b都一样。

- 符号放在后面 即b= a++, 执行的时候先进行赋值,再进行赋值,所以运算之后 a的值比b多1。


打开App,阅读手记
0人推荐
发表评论
随时随地看视频慕课网APP