为什么将双重728.3转换为无符号字符会产生零?728是0x2D8,所以不应该w是0xD8(216)?
int w = (unsigned char)728.3;
int x = (int)728.3;
int y = (int)(unsigned char)728.3;
int z = (unsigned char)(int)728.3;
printf( "%i %i %i %i", w, x, y, z );
// prints 0 728 0 216
Run Code Online (Sandbox Code Playgroud)