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

img


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

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

因为x是无符号类型