关于#undef的一个小问题C/C++ code#include stdio.h#define N 100void f(void)main(){f()#ifdef N#und
关于#undef的一个小问题
C/C++ code
#include "stdio.h"#define N 100void f(void);main(){ f(); #ifdef N #undef N #endif return 0;}void f(void){ #if defined(N) printf(" N is %d\n",N); #else printf(" N is undefined\n"); #endif}
为什么结果是N is undefined 按照顺序的话不应该是 N is 100 ? 把#undef N 这行注释结果就是 N is 100