原文:https://stackoverflow.com/questions/9946108/if-defined-x-y-is-this-valid 下面的示例显示||的更常见用法 和&&操作符针对#defined宏: #define AA 1 #define BB 2 #if (defined AA) || (defined BB) #warning "A or B" #endif #if (defined AA) && (defined BB) #warning "A and B" #endif 当上面的代码运行时,用户将在屏幕上看到以下消息: #warning "A or B" #warning "A and B" 但是,如果代码是这样的(AA未定义): #undefine AA #define BB 2 #if (defined AA) || (defined BB) #warning "A or B" #endif #if (defined AA) && (defined BB) #warning "A and B" #endif 然后用户将收到以下消息: #warning "A or B"