c语言中#define a 1或者未定义的变量# if a==1会是什么结果

c语言中,

#define a 1  
#if a==1  
#define b  
#if b==1

会是什么结果?

结论

define #ifdef VAR #if defined(VAR) #if VAR ==1 #if VAR ==0
#define VAR 1 true true true false
#define VAR 0 true true false true
#define VAR true true ERROR (编译不通过) ERROR
#undefine VAR false false false true
None false false false true
  1. #undefine VAR等同于不定义VAR
  2. #ifdef VAR等同于 #if defined(VAR)
  3. 未定义的VAR等同于0
  4. 如果要多个条件 可以
    #if defined(VAR_A) || VAR_B==1
  5. 如果要多个条件 可以
    #if defined(VAR_A) && VAR_B==1

c语言中#define a 1或者未定义的变量# if a==1会是什么结果

上一篇:VISP视觉库中实现AprilTag的方法


下一篇:C++ 预编译的时候使用defined 的含义