从整数转换为有符号整数时溢出

当有符号或无符号整数转换为有符号整数类型,并且其值在目标类型中无法表示时,生成的值是实现定义的。例:

// Suppose that on this implementation, the range of signed char is -128 to +127 and
// the range of unsigned char is 0 to 255
int x = 12345;
signed char sc = x;   // sc has an implementation-defined value
unsigned char uc = x; // uc is initialized to 57 (i.e., 12345 modulo 256)