发布网友
共1个回答
热心网友
C++规定char类型的最小存储空间是8位。所以超过8位大小的赋值行为都是未定义的,讨论起来没有意义。如果按8位来讨论:
char是指plain
char,依赖编译器决定它是unsigned还是signed
但作为8位的char来计算,char
z
=
128
应该是溢出了
对于溢出的处理也是未定义的。大部分编译器的做法是“截断”,去掉溢出的高位。这个结果是-128,所以z
=
-128。总结,z的结果是未定义的