(1)定义宏时:斜杠后面不能有空格或tab键
#define FUN(A) \//斜杠后面不能有空格或tab键,不然编译会报错(VC6)
do{ \//斜杠后面不能有空格或tab键,不然编译会报错(VC6)
...... \
}while(0)
(2)宏的作用域在定义之后
void test(void);
int main()
{
test();
printf("%d\n", A);//编译时找不到A的定义
return 0
}
void test(void)
{
#define A 1
return A;
}
(3) #define A 0//注意,A is define
#if defined(A)
printf("A is defined\n");//输出该结果
#else
printf("A is not defined\n");
#endif
(4)#ifdef 与 #if defined 不要联合使用
#ifdef(A) || defined(B)
//当A为false, B为 true时,得到的结果为 false (VC++6,编译也没有抱错 )
阅读(641) | 评论(0) | 转发(0) |