完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
KEIL5中,写了这条语句,编译后一直报警,我感觉不到哪里出了问题?难道是编译器版本的问题么?
while(!(rev = DET_TUBE_STATUS_YING(&tmp_05_TUBE, &tmp_10_TUBE))); //报警的语句 函数声明:u8 DET_TUBE_STATUS_YING(u8* num_05, u8* num_10); u8 rev = 0; 目前看,变量都是对的。我本意是这个函数DET_TUBE_STATUS_YING()返回0,一直执行;返回非零数,执行随后的语句。可是,还需要纪录返回值。 我知道,在C语言中,赋值表达式的值为左值的值。我的理解有偏差么?还是怎么了? ....BSPbsp_use.c(261): warning: #1293-D: assignment in condition while(!(rev = DET_TUBE_STATUS_YING(&tmp_05_TUBE, &tmp_10_TUBE))); 问了度娘:出现这样的问题代码是可以继续正常执行的,但是写法不太严谨,因为在while/if的条件中,系统期望的是一个布尔类型的值,当表达式传递的结果非布尔值类型时,就会出现这样的警告。 可我,不是逻辑取反了么,怎么还不是bool类型。大家帮我看下,分析分析。谢了 |
|
相关推荐
4个回答
|
|
do{} while();
|
|
|
|
把语句拆分为多句,就知道原因了
|
|
|
|
我就是这么解决的,只是想知道,问题到底出在哪里?不过,感觉这个问题不好回答呀!谢谢了
|
|
|
|
rev == ……
|
|
|
|
只有小组成员才能发言,加入小组>>
258个成员聚集在这个小组
加入小组请问下图大疆lightbridge2遥控器主板电源芯片型号是什么?
4500 浏览 1 评论
使用常见的二极管、三极管和mos做MCU和模组的电平转换电路,但是模组和MCU无法正常通信,为什么?
373浏览 2评论
为了提高USIM卡电路的可靠性和稳定性,在电路设计中须注意的点有哪些?
384浏览 2评论
409浏览 2评论
407浏览 2评论
497浏览 2评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2025-1-12 07:03 , Processed in 0.784238 second(s), Total 50, Slave 45 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号