今天看第二卷的代码时发现有一些特殊的条件编译用法

我们比较熟悉的有

#ifdef 

#ifndef

#endif

这些一般用来避免重复的定义以及一些特殊情况

另有

#if

#endif

多用来DEBUG,在#if 后的值为真的时候编译之间的代码,另外有#elif(就是else if)

另有单个#表示两个可能含义

1、什么都不做

2、讲带参数的宏编译的参数转化为字符串

如 #define TEST(n) "test”#n

    printf(“%s”,TEST(13));

这样输出的结果是 "test13“

另外##比较少用.