关于储存溢出的问题
本帖最后由 1613551 于 2023-2-23 08:34 编辑为什么a的值会等于0?我知道是溢出了,但是我忘了是什么原理了
#include <stdio.h>
#include <stdlib.h>
int main(void)
{
char ch = 256;
int a = ch;
printf("%d", a);
system("pause");
return 0;
} 256 的二进制是 100000000
而 char 类型只占一个字节,也就是 8 位,所以最高位的 1 左溢了,只剩下那 8 个 0
所以 ch 只剩下 0 了,把 ch 的值赋给 a,也就是把 0 赋给 a
抢到第3楼{:10_256:} 学习一下
页:
[1]