NULL=0
FALSE=0
TRUE记得是-1,但是如果用于if语句中,任何非0值都是true。但是TRUE一个宏,无法覆盖所有情况。所以切记不要写出TRUE == (表达式)这样的判断,因为这样的判断往往都是错误的
举例来说,int bitmask = 0x0010000;
if(~bitmask) //这是true的
if(TRUE == ~bitmask) //虽然你想要达到的目的和上面一样,但是实际这会是false。
NULL=0
FALSE=0
TRUE记得是-1,但是如果用于if语句中,任何非0值都是true。但是TRUE一个宏,无法覆盖所有情况。
所以切记不要写出TRUE == (表达式)这样的判断,因为这样的判断往往都是错误的
举例来说,
int bitmask = 0x0010000;
if(~bitmask) //这是true的
if(TRUE == ~bitmask) //虽然你想要达到的目的和上面一样,但是实际这会是false。