<分区>
用 unsigned char
参数编写了一个函数,如下所示
void Address_set(unsigned char x1,unsigned char y1,unsigned char x2,unsigned char y2)
上述函数在C代码的main()
函数中调用为
Address_set(0,0,239,319);
我收到了警告
大整数隐式截断为无符号类型 [-Woverflow]
如何避免此警告。
标签 c
<分区>
用 unsigned char
参数编写了一个函数,如下所示
void Address_set(unsigned char x1,unsigned char y1,unsigned char x2,unsigned char y2)
上述函数在C代码的main()
函数中调用为
Address_set(0,0,239,319);
我收到了警告
大整数隐式截断为无符号类型 [-Woverflow]
如何避免此警告。
最佳答案
unsigned char
的范围是 [0 ... 255],值 319 被截断(环绕)为 319 % 256 = 63
How to avoid this warning.
即使您可以使用强制转换避免此警告,该值仍会被截断:
Address_set(0,0,239,(unsigned char)319);
使用更长的类型,即:unsigned short
关于c - 警告消息 : large integer implicitly truncated to unsigned type [-Woverflow],我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39738497/