实际你对变量赋予的都是越界值,所以输出自然就不是你初始化的值。比如char c1 = 250,char类型的取值范围只有-128到127,你初始化为250,是不可能的啊。它自动就变成-6了
char是一个字节,有符号,取值范围是-128 ~ 127,c1赋值250都超出范围了,超过127的值会在-128 ~ 127之间继续计算,最终是-6.unsigned char也是一个字节,无符号,取值范围是0 ~ 255,超出范围跟上面同样的计算。