truncation from 'const int' to 'char' 是什么意思


在C语言中常出现这问题怎么回事?
你把散陵一个const int类型的值,赋给了一个char类型变量。
因为char类型是8位(-128到127),而int是32位,所以编译器会提示警告

比如,你把一个int类型值256,赋给一个char类型,则赋凳空值后变成了0
这是因为256的二进制是枣掘瞎100000000(9位)
而char只有8位,所以赋值时就取二进制的低八位,也就是00000000
所以结果就是0
最佳答案楼下的方法还不完全,用unsigned char转换就可以了