C语言入门基础a++和++a的区别及运算符的优先级别

——————————————————————————————————————————————————————————————————————————

下面以一个简单的代码说明

#include <stdio.h>
int main()
{
    int a, b, c, d;
    a = 10;
    b = a++;//先把a的值赋给b,然后a的值其再加1,此时b=a=10;然后a=a+1;(a=11)
    c = ++a;//先把a的值加一,然后把此时a的值赋给c;a=a+1 (a=12)c=a=12;
    d = 10 * a++;//运算级别{'*'>'='>'++'}先a*10赋给d,然后a自身++(a=13)
    printf(" % d, % d, % d, % d\n", a, b, c, d);
    return 0;
}

可能你还是对a++和++a分不清;
a++可以试想
s=a++;等号的运算级别比++的级别高,所以应是先把a的值赋给s后a在进行+1;
++a要怎么理解?
s=++a;要是这样理解的话却得到了错误的结果,
应此我建议记忆一个a++最常用的来进行区分++a;
毕竟c语言需要记忆一些常识;
优先级上
相同优先级中,按结合顺序计算。大多数运算是从左至右计算,只有三个优先级是从右至左结合的,它们是单目运算符、条件运算符、赋值运算符。

基本的优先级需要记住:

指针最优,单目运算优于双目运算。如正负号。

先算术运算,后移位运算,最后位运算。请特别注意:1 << 3 + 2 && 7等价于 (1 << (3 + 2))&&7.

逻辑运算最后计算。//(节选百度)
在这里插入图片描述
给个赞呗!

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值