utu_v
2021-10-16 17:15
采纳率: 92.3%
浏览 18

c++课本后实验题的输出问题

img


为什么第二个输出不是-50呢?

  • 写回答
  • 好问题 提建议
  • 追加酬金
  • 关注问题
  • 收藏
  • 邀请回答

2条回答 默认 最新

  • 小目标lnput 2021-10-16 17:46
    已采纳

    x、y、z都是无符号类型,第一个输出x = y - z = 50正常输出,第二个输出 x = z - y = -50,发生回绕
    回绕:当计算结果为负数时,把结果赋值给了一个无符号类型的变量,结果为:无符号类型变量的最大值与负数的和,比如说假设int型变量的最大值为99999,那么结果就是99999+(-50)

    评论
    解决 无用
    打赏 举报
查看更多回答(1条)

相关推荐 更多相似问题