C语言的问题 if(10<=x<=20)
最近在看程序的时候,
有一款产品的代码是其他产品没有的.
就看了一下:
(总感觉很别扭,因为一般我不会把条件都写在一起,虽然一开始不知道什么原因)

keil提示有警告,

忽然,才意识到确实有问题.
应该写成 (TIM7->CNT>=70 ) && (TIM7->CNT<=90)
原因是,如果 TIM7->CNT 的值是80那么:
(70<=TIM7->CNT<=90) 这个条件就会通过.
因为70<=80 然后会计算出true,true会被认为成1.
true<=90,
然后整个就通过了...