一个奇怪的警告

[复制链接]
3240|5
 楼主| dsoyy 发表于 2012-3-10 21:48 | 显示全部楼层 |阅读模式
语句如下:
if((AD_data < 38000) && (AD_data > 17000))//int AD_data;
{}
警告如下:

Warning [750] F:\project\unknow\PIC12F675\main.c; 279. constant operand to || or &&
Warning [764] F:\project\unknow\PIC12F675\main.c; 279. mismatched comparison

但是将代码比较大小的数值进行调整:
if((AD_data < 3800) && (AD_data > 1700))//int AD_data;
{}
编译没有任何警告,这觉得很奇怪。不理解。
电子老鹰 发表于 2012-3-10 23:36 | 显示全部楼层
int类型,范围是32000多,达不到38000。应该跟这个有关。
 楼主| dsoyy 发表于 2012-3-11 10:14 | 显示全部楼层
是,当成65535了
Ryanhsiung 发表于 2012-3-11 11:33 | 显示全部楼层
改成unsigned int 试试!!
yewuyi 发表于 2012-3-11 14:27 | 显示全部楼层
需要基础知识好好学习。。。
 楼主| dsoyy 发表于 2012-3-12 17:19 | 显示全部楼层
接收批评。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

144

主题

566

帖子

3

粉丝
快速回复 在线客服 返回列表 返回顶部