xue??
2015-12-10 13:23
采纳率: 37.5%
浏览 1.8k
已采纳

n+=m++的运算顺序是什么?

如题目啦 n+=m++的运算顺序是什么?不是++优先级高点吗?

  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 邀请回答

4条回答 默认 最新

  • 云霏阳 2015-12-10 13:30
    已采纳

    以上语句等价于
    n += m;
    m ++;

    如果是n += ++m;的话,则等价于
    m ++;
    n += m;

    点赞 2 评论
  • RapdoZoro 2015-12-11 01:44

    先解释一下 += 和 ++ 是什么意思:
    += 的意思是 左值和右值相加结果赋值给左值,如 a=1;b=2;a+=b;后,等效于a=a+b ,结果a=3;b=2。
    ++ 的意思是变量自加1,如a=1;a++;a的值是2,
    在c中,++有前置和后置如 ++a;a++;,单独使用的时候是没有区别的,都是自加1,在有运算时就有区别了,前置的++是自加后才参与运算,后置的++是参与运算后在自加1。
    如题的话,假定n=1,m=2,n+=m++的意思就是m=2先参与n+=m运算n=3,然后m自加1,m=3;
    如果m++换成前置++m,n+=++m就是m先自加1,m=4,然后参与n+=m运算,n=4。

    点赞 6 评论
  • 山谷居士 2015-12-10 13:27

    等效于n+=m;m++;

    点赞 评论
  • 山谷居士 2015-12-10 13:27

    等效于n+=m;m++;

    点赞 评论

相关推荐 更多相似问题