Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
我有一个 char buf[3];需要放置buf[0] = ch的ch数组: int. 但编译器给出以下警告:
char buf[3];
buf[0] = ch
ch
int
从 'int' 转换为 'char' 可能会改变它的值
我该如何删除这个?我试过投,unsigned char但没有运气。
unsigned char
使用显式强制转换:
buf[0] = (char)ch;
一个 char 是一个字节长,而一个整数通常是 4 个字节(实现定义)。 如果您尝试将整数转换为 char,显然您会丢失前三个字节。
buf[0]=(char)ch如果您确定您的 int 不超过 1 个字节,您可以这样做。否则会丢失信息。
buf[0]=(char)ch