Logic: is ( A && !(B || C)) || ( B || C ) the same as ( A || B || C )?
问题 I've encountered some obj-c code and I'm wondering if there's a way to simplify it: #if ( A && !(B || C)) || ( B || C ) is this the same as? #if ( A || B || C ) If not, is there another way to formulate it that would be easier to read? [edit] I tried the truth table before asking the question, but thought I had to be missing something because I doubted that Foundation.framework/Foundation.h would employ this more complex form. Is there a good reason for it? Here's the original code (from