c - 为什么int转char没有溢出警告

标签 c visual-c++

int i=9999;  

char c=i;  

不给出溢出警告,而

char c=9999;  

给予,

warning C4305 initializing truncation from int to char

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

最佳答案

你会得到 warning C4244使用/W4 编译时(您应该始终这样做)。

warning C4244: 'initializing' : conversion from 'int' to 'char', possible loss of data

关于c - 为什么int转char没有溢出警告,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10503434/

相关文章:

c - dmalloc 提供返回地址信息显示 `unknown' ?

c - 为什么在调用glBindBuffer时在atio6axx.dll中出现访问冲突?

c - 我的程序中是否存在悬空指针?

c++ - 如何使用命名空间系统;使用 VC++ 在 MFC 应用程序中

c++ - 在 Windows 上使用多线程文件 IO 的 SHARING_VIOLATION

c - 为什么下面的程序可以运行

c++ - 在位数组中找到 N 个 1 位的字符串

c++ - `warning C4127`(条件表达式是常量)有帮助吗?

c++ - 即使使用#include <Shlobj.h> 和#pragma 注释(lib, "Shell32.lib")也无法调用 SHGetKnownFolderPath()

c++ - gcc 中 cl/NODEFAULTLIB 的替代方案是什么