码迷,mamicode.com
首页 > 其他好文 > 详细

#if #elif #define typedef 使用时的注意事项

时间:2015-04-24 01:07:29      阅读:115      评论:0      收藏:0      [点我收藏+]

标签:

假设有如下代码需要兼容三个版本


这样无法完成任务的

无论


typedef enum{
	FIRST,
	SECOND,
	THIRD,
};

#define NUM  THIRD

#if (NUM == FIRST)
#define  VAR  1
#elif(NUM == SECOND)
#define  VAR  2
#elif(NUM == THIRD)
#define  VAR  3
#endif

int main(void)
{
#if (NUM == FIRST)
printf("VAL = %d\n",VAR);
#elif(NUM == SECOND)
printf("VAL = %d\n",VAR);
#elif(NUM == THIRD)
printf("VAL = %d\n",VAR);
#endif
}

#define NUM  FIRST还是

#define NUM  SECOND还是

#define NUM  THIRD

运行结果都一样

技术分享


但是这样就可以完成任务了


#define FIRST    1
#define SECOND   2
#define THIRD    3



#define NUM  THIRD

#if (NUM == FIRST)
#define  VAR  1
#elif(NUM == SECOND)
#define  VAR  2
#elif(NUM == THIRD)
#define  VAR  3
#endif

int main(void)
{
#if (NUM == FIRST)
printf("VAL = %d\n",VAR);
#elif(NUM == SECOND)
printf("VAL = %d\n",VAR);
#elif(NUM == THIRD)
printf("VAL = %d\n",VAR);
#endif
}

技术分享

#define NUM  FIRST还是

#define NUM  SECOND还是

#define NUM  THIRD

都可以得到想要的结果



为什么呢?????





#if #elif #define typedef 使用时的注意事项

标签:

原文地址:http://blog.csdn.net/dearwind153/article/details/45232103

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!