关于#c##的问题,请各位专家解答!

img

img


同样大小的值,同样用%d输出,为什么两个数不同,一个是整数,一个是负数呢?

回答如下,记得采纳一下哦!
无符号的占位符是%u,不能用%d。
第一张图是无符号的,所以没有溢出,你用百分号u,可输出正常正数。

第二张2的31次方溢出了,但你用的power,可能会有精度问题,所以显示的是4字节的最大值2的31次方-1。

第一幅图是无符号的整数,数据不会溢出,所以可以正常运行
第二幅图:2^31太大了,超出int的范围了,系统会给一个随机数
望采纳