u16 i = 0,j = 923;
i = j & 1;
结果 i = 0;
这是个神马情况?
无无 本帖最后由 zqjqq88 于 2015-12-29 13:48 编辑
u16 i = 1,j = 923;
if(i ==( j & 1))
{
}
else
{
}
这样的居然执行else里的语句
楼顶的情况试试如下:
u16 i = 0;
u16 j = 923;
i = j & 1;
这样可以吗?
之前遇到过这类情况吗。如果把if(i ==( j & 1))改成if(j & 1),会是什么结果呢。楼主试一下看看。
变量被编译器优化了吧,可以定义成volatile类型变量防止被优化