char是一个字节8位,8位有符号数表示的范围是-128~127,负数是在计算机中是用补码表示的,255换成二进制是8个1,最前面一位是1,表示是负数,具体的数值呢,由正数到负数是取反加1,反过来是减一取反,所以8个1减一后是11111110,取反后是1,所以是-1,如果是256的话,直接就溢出了,1后面8个0,直接取后面8个0放到变量中,所以是0.