KEIL的条件判断
if(1==(flag&(0x01<<1))) dest= dest+0x01;和if(lag&(0x01<<1)) dest= dest+0x01;
这两句话在 keil里面不一样吗,运行的效果不一样呢
之前在IAR和codewarry里面写都是一个效果的哇 flag为多少时能满足flag & 0x02 = 1? 肯定不一样,第一条那个等于1的永远不执行。0x01<<1后变为0x02,然后跟flag按位与的结果只有两种,0或者2。 一个是判断等于1才执行 下面是非0就执行 不知理解对不对 if(1==2)
与
if(2)
的区别。 楼上说的都很好 IAR会一样吗?? 估计楼主打错字了,这个太明显了,楼上都说明了,就不多说啦。 很好奇 IAR是怎么让它一样的 同上,很好奇,应为&&吧 逻辑错误了。 哎,基础知识呀。if语句只判断真或者假,0为假,非零就是真。结果为2也是真,但是第一句就不一样了。 一般情况下我都判断结果是否为非零
页:
[1]