爱喝蜜柚 2020-12-08 19:16 采纳率: 25%
浏览 20
已结题

谁能给我解释一下这道题啊?

2、设 x = 1 , y = 2 , z = 3,则表达式  y+=z--/++x  的值是(      )。

  • 写回答

5条回答 默认 最新

  • 爆米花9958 2020-12-08 20:49
    关注

    z--是先取值后减运算,所以是3;++x是先加运算,再取值,所以是2,y+=xxx运算就是y=y+xxx,所以最后结果是3

    在C中,你这个写法不知道行不行, y+=(z--)/(++x),这样是没问题

    评论
  • T.mvller 2020-12-08 20:54
    关注

    3

    评论
  • 托马斯的快递员 2020-12-08 21:23
    关注

    你在后面的两个式子加上两个小括号就很容易理解了:y=y+(z--)/(x++),就是:y=2+2/2=3.

    本质就是运算符号的优先级关系比较。

    评论
  • cheng_xiaole 2020-12-08 21:58
    关注

    可以不加小括号的,因为自加自减运算的优先级是高于除法运算的。

    评论
  • cheng_xiaole 2020-12-08 22:03
    关注

    虽然程序可以运算出结果是3,但是一般不建议这样写,因为不方便检查,实用性不强。

    评论

报告相同问题?

问题事件

  • 已结题 (查看结题原因) 5月27日

悬赏问题

  • ¥15 控制面板卸载无权限!!
  • ¥20 vb调用dll报错找不到文件
  • ¥20 SQL如何做交集查询
  • ¥15 unity 绘画方面的问题
  • ¥15 FTP 明明给了权限但是还是550 Permission denied问题
  • ¥20 Java的kafka错误unknowHostException
  • ¥20 gbase 8a没有lisense,需要获取一个lisense
  • ¥15 前端的3d饼图不知道用啥框架做的
  • ¥15 算法问题 斐波那契数 解答
  • ¥15 VS2019 SPY++ 获取句柄操作