为什么在将int转换为char时没有溢出警告

Vin*_*nce 0 c visual-c++

int i=9999;  

char c=i;  
Run Code Online (Sandbox Code Playgroud)

没有溢出警告,而

char c=9999;  
Run Code Online (Sandbox Code Playgroud)

给,

警告C4305初始化从int到char的截断

为什么没有溢出转换时警告intchar

Jam*_*lis 9

使用/ W4进行编译时,您将收到警告C4244(您应该始终这样做).

警告C4244:'初始化':从' int' 转换为' char',可能会丢失数据