C语言预处理条件语句的 与或运算
C语言预处理条件语句的 与或运算
1.#ifdef 与或运算
#ifdef (MIN) && (MAX) ----------------------------错误使用
#if defined(MIN) && defined(MAX) ---------------- 正确使用
#ifdef (MIN) || (MAX) -----------------------------错误使用
#if defined(MIN) || defined(MAX) -----------------正确使用
2.#ifndef与或运算
#ifndef (MIN) && (MAX) -------------------------错误使用
#if !defined(MIN) && !defined(MAX) --------------正确使用
#ifndef (MIN) || (MAX) --------------------------错误使用
#if !defined(MIN) || !defined(MAX) --------------正确使用
3.举例:
如果宏定义了定义了MACRO_A且定义了MACRO_B,编译器将codeA代码部分编译进来;
否则,如果宏定义定义了MACRO_C,编译器将codeB代码部分编译进来。
#if defined(MACRO_A) && defined(MACRO_B)
codeA
#elif defined(MACRO_C)
codeB
#endif