2025-11-20 06:37:11
char溢出就是说字符类型存不下数值了。比如用char存255往上的数,或者-128以下的数,就会自动往回绕。这跟手机内存不够一个道理,数据挤不进去就得换小容器装。
为啥是这个答案呢?因为char占1字节,用补码存-128到127。比如存-129,就变成127往负数方向绕。数据手册写得很清楚,char是8位有符号数。就像你拿个8格的盒子装9个苹果,只能塞进-1格(127)苹果。运算时比如a=200,b=100,a+b=300,char只能存3,因为300-256=-3,补码显示成253。这跟温度计到-20度再降1度变成19度一个道理。刚才说的例子都是实际编程会碰到的坑,网上也有程序员因此程序死机过。
本题链接: