TuringQi 2021-09-01 22:53 采纳率: 88.2%
浏览 47
已结题

C语言编译器扫描顺序的问题

x初始值是2
img
运行结果0 题目答案给的1, 如果是1的话思路大概是一下这样子:
img

运行结果0的话,我猜测是编译器在没读到x++的时候编译器已经把第一个x取成2了

有没有同学帮忙讲一下这个问题,或者推荐一下关于编译器扫描表达式规则的帖子也行

  • 写回答

2条回答 默认 最新

  • aabyte 2021-09-01 23:03
    关注

    x++;是先赋值再自增,先用2的值代进去算就是 x=2+1/2-2, 其中因为整型的除法规则,x这时就变成了0,然后x再自增,就变成了1

    本回答被题主和专家选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

问题事件

  • 系统已结题 9月13日
  • 已采纳回答 9月5日
  • 专家已采纳回答 9月5日
  • 创建了问题 9月1日