Chinaunix

标题: 求助 - 奇怪的表达式 always true [打印本页]

作者: sihan    时间: 2008-02-13 15:17
标题: 求助 - 奇怪的表达式 always true
int ischinese(char c)
{
    unsigned char ch = (unsigned char)c;

&nbsp;&nbsp;&nbsp;&nbsp;if (ch >= 0xA0 && ch <= 0xFF)
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return 1;
&nbsp;&nbsp;&nbsp;&nbsp;return 0;
}


用GCC编译这个函数, 给出如下警告:

divide.cpp:16: warning: comparison is always true due to limited range of data type


我明明已经强制转换成 unsigned char 了, 为什么会出现这样的警告?
作者: cjaizss    时间: 2008-02-13 15:32
ch <= 0xFF
作者: sihan    时间: 2008-02-13 15:43
原帖由 cjaizss 于 2008-2-13 15:32 发表
ch  


唉, 我真粗心。。。 多谢




欢迎光临 Chinaunix (http://bbs.chinaunix.net/) Powered by Discuz! X3.2