打印

一个奇怪的警告

[复制链接]
2529|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 试试!!

使用特权

评论回复
5
yewuyi| | 2012-3-11 14:27 | 只看该作者
需要基础知识好好学习。。。

使用特权

评论回复
6
dsoyy|  楼主 | 2012-3-12 17:19 | 只看该作者
接收批评。

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

144

主题

566

帖子

3

粉丝