计算机小混子 2022-03-09 21:59 采纳率: 100%
浏览 21
已结题

为什么x不是三这个语句不是把y赋值给x然后x在++吗

为什么x不是三这个语句不是把y赋值给x然后x在++吗?求解释这个语句的执行过程以及我为什么不能(x+y)++

img

  • 写回答

3条回答 默认 最新

  • Code_流苏 优质创作者: C/C++技术领域 2022-03-09 22:37
    关注

    int x=1,y=2;
    ++x=y;
    然后输出x和y,结果是2、2
    原因如下:
    int x=1,y=2;// 此时定义了x和y 并且x被赋值1 y被赋值2 此时x=1,y=2
    ++x=y;//++x是先自增1再执行相关语句,++自增运算符的优先级是要高于赋值运算符的所以x会先自增1变成2,之后y再赋值给x,y的值是2,所以赋值之后还是2,因此输出时2,2

    希望对题主有所帮助,可以的话,帮忙点个采纳!

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论 编辑记录
查看更多回答(2条)

报告相同问题?

问题事件

  • 系统已结题 3月18日
  • 已采纳回答 3月10日
  • 创建了问题 3月9日